Heim >Backend-Entwicklung >C++ >Wie iteriere ich durch eine verschachtelte Karte 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!