In deze korte zelfstudie zullen we zien hoe u op de kaart in C . kunt herhalen++.
Er zijn meerdere manieren om de kaart in C . te herhalen++. Met nieuwere versies van C++ zijn er meer geavanceerde manieren om over de kaart te itereren in C++.
Laten we ze stuk voor stuk doornemen.
For-lus gebruiken met stp::map
We hebben een kaart gemaakt met de naam landHoofdstadKaart
en er sleutel-waardeparen aan ingevoegd.
#include
#include
Uitgang:
China: Peking
Frankrijk:Parijs
India:Delhi
Nepal:Kathmandu
Zoals u kunt zien, hebben we land: hoofdletter (sleutel: waarde) afgedrukt met for loop.
Als je merkt, hebben we gebruikt auto
type specificatie voor kaart iterator vanwege leesbaarheid. Je kunt gebruiken kaart::iterator
expliciet ook.
Opmerking: Als u de uitvoer ziet, wordt deze gesorteerd op toetsen in oplopende volgorde. Dit komt omdat std::map een gesorteerde associatieve container is met de meegeleverde Comparator (versie C++11 en later). Omdat we geen comparator hebben geleverd, heeft C++ de standaard Comparator voor string gebruikt.
While-lus gebruiken met stp::map
We kunnen ook een while-lus gebruiken in plaats van een for-lus.
#include
#include
Uitgang:
China: Peking
Frankrijk:Parijs
India:Delhi
Nepal:Kathmandu
Range based for loop gebruiken (C++11 versie en later)
Als u de C++11-versie gebruikt, is dit de meest elegante manier om de kaart in C . te herhalen++. Je kunt traditionele, kubieke loops vermijden en in plaats daarvan deze gebruiken.
#include
#include
Uitgang:
China: Peking
Frankrijk:Parijs
India:Delhi
Nepal:Kathmandu
Op bereik gebaseerde for-lus gebruiken met sleutel-waardenparen (C++17-versie en later)
Deze versie wordt ondersteund vanaf c++17 en biedt een flexibelere manier om over de kaart te itereren. U kunt expliciet toegang krijgen tot sleutel-waardenpaar op de kaart, wat een nog beter leesbare oplossing biedt.
#include
#include
Uitgang:
China: Peking
Frankrijk:Parijs
India:Delhi
Nepal:Kathmandu
Dat is alles over het herhalen van de kaart in C++. Gelukkig coderen!