In diesem kurzen Tutorial werden wir sehen, wie man in der Karte in C . iteriert++.
Es gibt mehrere Möglichkeiten, die Karte in C . zu durchlaufen++. Mit neueren Versionen von C++ gibt es erweiterte Möglichkeiten, die Karte in C . zu durchlaufen++.
Lass uns jeden einzeln durchgehen.
Verwenden der for-Schleife mit stp::map
Wir haben eine Karte namens . erstellt LandHauptstadtKarte
und fügte Schlüssel-Wert-Paare hinzu.
#einschließen
#einschließen
Ausgabe:
China: Peking
Frankreich Paris
Indien:Delhi
Nepal: Kathmandu
Wie Sie sehen können, haben wir country:capital(key:value) mit der for-Schleife gedruckt.
Wenn Sie bemerken, haben wir verwendet Auto
Typbezeichner für Map-Iterator aus Gründen der Lesbarkeit. Sie können verwenden Karte::Iterator
auch explizit.
Hinweis: Wenn Sie die Ausgabe sehen, ist sie nach Schlüsseln in aufsteigender Reihenfolge sortiert. Dies liegt daran, dass std::map ein sortierter assoziativer Container mit mitgeliefertem Comparator (ab Version C++11) ist. Da wir keinen Komparator bereitgestellt haben, hat C++ den Standardkomparator für string verwendet.
Verwenden der while-Schleife mit stp::map
Wir können auch eine while-Schleife anstelle einer for-Schleife verwenden.
#einschließen
#einschließen
Ausgabe:
China: Peking
Frankreich Paris
Indien:Delhi
Nepal: Kathmandu
Verwenden einer bereichsbasierten for-Schleife (ab C++11-Version)
Wenn Sie die C++11-Version verwenden, ist dies der eleganteste Weg, um über die Karte in C . zu iterieren++. Sie können traditionelle würfelförmige Schleifen vermeiden und stattdessen diese verwenden.
#einschließen
#einschließen
Ausgabe:
China: Peking
Frankreich Paris
Indien:Delhi
Nepal: Kathmandu
Verwenden einer bereichsbasierten for-Schleife mit Schlüssel/Wert-Paaren (ab Version C++17)
Diese Version wird ab c++17 unterstützt und bietet eine flexiblere Möglichkeit zum Iterieren über die Karte. Sie können explizit auf das Schlüssel-Wert-Paar in der Karte zugreifen, was eine noch besser lesbare Lösung bietet.
#einschließen
#einschließen
Ausgabe:
China: Peking
Frankreich Paris
Indien:Delhi
Nepal: Kathmandu
Das ist alles darüber, wie man in C . über die Karte iteriert++. Viel Spaß beim Codieren!