Heim >Backend-Entwicklung >C++ >Wie iteriere ich durch eine verschachtelte Karte in C?

Wie iteriere ich durch eine verschachtelte Karte in C?

Linda Hamilton
Linda HamiltonOriginal
2024-12-09 03:15:16285Durchsuche

How Do I Iterate Through a Nested Map in C  ?

Durchlaufen einer verschachtelten C-Karte von Karten

Um über eine verschachtelte Karte in C zu iterieren, wobei die Karte eine Karte von Zeichenfolgen enthält Zeichenfolgen können Sie die bereichsbasierte for-Schleifensyntax verwenden. Hier ist eine aktualisierte Lösung für C 11 und höher:

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'
  }
}

Dieser Ansatz eliminiert unnötige Kopien und bietet eine präzise und elegante Möglichkeit, auf die Schlüssel und Werte in der verschachtelten Karte zuzugreifen.

Für C 17 können Sie dies noch weiter vereinfachen, indem Sie strukturierte Bindungen verwenden:

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
  }
}

Diese Technik ermöglicht Ihnen den direkten Zugriff auf die Variablen, ohne wie z. B. Zwischenreferenzen definieren zu müssen ent1, ent2 und so weiter.

Das obige ist der detaillierte Inhalt vonWie iteriere ich durch eine verschachtelte Karte in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn