>백엔드 개발 >C++ >반복자를 사용하여 중첩된 C 맵의 값에 효율적으로 액세스하려면 어떻게 해야 합니까?

반복자를 사용하여 중첩된 C 맵의 값에 효율적으로 액세스하려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-02 22:09:15308검색

How Do I Efficiently Access Values in a Nested C   Map Using Iterators?

반복자를 사용하여 다층 C 맵의 값에 액세스

내부 맵에 키가 포함된 맵의 C 맵 반복 값 쌍은 반복자를 사용하여 효율적으로 달성할 수 있습니다. 수행 방법은 다음과 같습니다.

다음과 같이 맵을 선언합니다.

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

외부 맵을 반복하려면 다음을 사용합니다. 구문:

for (auto& outer_entry : m) {
  std::string outer_key = outer_entry.first;
  std::map<std::string, std::string>& inner_map = outer_entry.second;

  // Iterate through the inner map using a nested loop
  for (auto& inner_entry : inner_map) {
    std::string inner_key = inner_entry.first;
    std::string inner_value = inner_entry.second;

    // Access the inner values here
  }
}

예:

m["name1"]["value1"] = "data1";
m["name1"]["value2"] = "data2";
m["name2"]["value1"] = "data1";
m["name2"]["value2"] = "data2";
m["name3"]["value1"] = "data1";
m["name3"]["value2"] = "data2";

for (auto& outer_entry : m) {
  std::cout << "Outer Key: " << outer_entry.first << std::endl;
  for (auto& inner_entry : outer_entry.second) {
    std::cout << "Inner Key: " << inner_entry.first << " - Value: " << inner_entry.second << std::endl;
  }
  std::cout << std::endl;
}

출력:

Outer Key: name1
Inner Key: value1 - Value: data1
Inner Key: value2 - Value: data2

Outer Key: name2
Inner Key: value1 - Value: data1
Inner Key: value2 - Value: data2

Outer Key: name3
Inner Key: value1 - Value: data1
Inner Key: value2 - Value: data2

위 내용은 반복자를 사용하여 중첩된 C 맵의 값에 효율적으로 액세스하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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