C에서 중첩된 맵 반복
C에서 맵 맵을 반복하는 것은 중첩된 for 루프를 사용하여 수행할 수 있습니다. 다음 컨테이너를 고려하세요.
std::map<std::string, std::map<std::string, std::string>> m; // Example data 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 루프:
이 맵을 반복하려면 중첩된 for 루프를 사용하세요.
for (auto const &ent1 : m) { // ent1.first is the outer key for (auto const &ent2 : ent1.second) { // ent2.first is the inner key // ent2.second is the value } }
이 접근 방식을 사용하면 외부 키, 내부 키 및 중첩된 각 요소의 값에 액세스할 수 있습니다. map.
C 11 개선 사항:
C 11에서는 범위 기반 for 루프를 사용하여 위 코드를 단순화할 수 있습니다.
for (auto const &[outer_key, inner_map] : m) { for (auto const &[inner_key, inner_value] : inner_map) { // Access outer_key, inner_key, and inner_value directly } }
C 17 구조화 바인딩:
C 17에서 구조적 바인딩은 구문을 더욱 단순화할 수 있습니다.
for (auto const &[outer_key, inner_map] : m) { for (auto const &[inner_key, inner_value] : inner_map) { // Access outer_key, inner_key, and inner_value without need for variables } }
이러한 방법을 사용하면 중첩된 맵을 효율적으로 반복하고 포함된 데이터에 액세스할 수 있습니다. .
위 내용은 C에서 중첩된 맵을 어떻게 반복할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!