>백엔드 개발 >C++ >C에서 중첩 맵을 통해 어떻게 반복합니까?

C에서 중첩 맵을 통해 어떻게 반복합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-09 03:15:16284검색

How Do I Iterate Through a Nested Map in C  ?

맵의 중첩된 C 맵을 통해 반복

맵에 문자열 맵이 포함된 C의 중첩 맵을 반복하려면 문자열의 경우 범위 기반 for 루프 구문을 활용할 수 있습니다. 다음은 C 11 이상을 위한 업데이트된 솔루션입니다.

std::map<std::string, std::map<std::string, std::string>> mymap;

for (const auto &[outer_key, inner_map] : mymap) {
  // Outer key is accessible via 'outer_key'
  for (const auto &[inner_key, inner_value] : inner_map) {
    // Inner key is accessible via 'inner_key'
    // Inner value is accessible via 'inner_value'
  }
}

이 접근 방식은 불필요한 복사본을 제거하고 중첩 맵의 키와 값에 액세스할 수 있는 간결하고 우아한 방법을 제공합니다.

C의 경우 17에서는 구조화된 바인딩을 사용하여 이를 더욱 단순화할 수 있습니다.

for (const auto &[outer_key, inner_map] : mymap) {
  for (const auto &[inner_key, inner_value] : inner_map) {
    // Access your 'outer_key', 'inner_key', and 'inner_value' directly
  }
}

이 기술을 사용하면 별도의 작업 없이 변수에 직접 액세스할 수 있습니다. ent1, ent2 등과 같은 중간 참조를 정의해야 합니다.

위 내용은 C에서 중첩 맵을 통해 어떻게 반복합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.