Heim > Backend-Entwicklung > C++ > Wie kann ich über verschachtelte Karten in C iterieren?

Wie kann ich über verschachtelte Karten in C iterieren?

DDD
Freigeben: 2024-12-04 20:23:12
Original
164 Leute haben es durchsucht

How Can I Iterate Over Nested Maps in C  ?

Iterieren über verschachtelte Karten in C

Das Durchlaufen einer Karte von Karten in C kann mithilfe verschachtelter for-Schleifen erreicht werden. Betrachten Sie den folgenden Container:

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";
Nach dem Login kopieren

Verschachtelte For-Schleifen:

Um über diese Karte zu iterieren, verwenden Sie verschachtelte For-Schleifen:

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
  }
}
Nach dem Login kopieren

Dieser Ansatz ermöglicht den Zugriff auf den äußeren Schlüssel, den inneren Schlüssel und den Wert für jedes Element in der Verschachtelung Karte.

C 11-Verbesserungen:

In C 11 kann die bereichsbasierte for-Schleife verwendet werden, um den obigen Code zu vereinfachen:

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
  }
}
Nach dem Login kopieren

C 17 Strukturierte Bindungen:

In C 17, strukturiert Bindungen können die Syntax weiter vereinfachen:

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
  }
}
Nach dem Login kopieren

Mit diesen Methoden können Sie verschachtelte Karten effizient durchlaufen und auf die darin enthaltenen Daten zugreifen.

Das obige ist der detaillierte Inhalt vonWie kann ich über verschachtelte Karten in C iterieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage