În acest tutorial rapid, vom vedea cum să iterați în hartă în C++.
Există mai multe moduri de a itera peste hartă în C++. Cu versiunile mai noi de C ++, există modalități mai avansate de a itera peste hartă în C++.
Să parcurgem fiecare câte unul.
Folosind bucla for cu stp :: map
Am creat o hartă numită countryCapitalMap
și i-au inserat perechi cheie-valoare.
#include
#include
Ieșire:
China: Beijing
Franța: Paris
India: Delhi
Nepal: Kathmandu
După cum puteți vedea, am imprimat țara: capital (cheie: valoare) folosind bucla pentru.
Dacă observați, am folosit auto
specificatorul de tip pentru iteratorul hărții din cauza lizibilității. Poți să folosești Hartă:: iterator
în mod explicit, de asemenea.
Notă: Dacă vedeți ieșirea, aceasta este sortată după taste în ordine crescătoare. Acest lucru se datorează faptului că std :: map este un container asociativ sortat cu Comparator furnizat (versiunea C ++ 11 în continuare). Deoarece nu am furnizat niciun comparator, deci C ++ a folosit comparatorul implicit pentru șir.
Folosind bucla while cu stp :: map
De asemenea, putem folosi o buclă while în loc de buclă.
#include
#include
Ieșire:
China: Beijing
Franța: Paris
India: Delhi
Nepal: Kathmandu
Utilizarea Range based pentru buclă (versiunea C ++ 11 în continuare)
Dacă utilizați versiunea C ++ 11, atunci acesta este cel mai elegant mod de a itera peste hartă în C++. Puteți evita buclele tradiționale neplăcute și le puteți folosi în schimb.
#include
#include
Ieșire:
China: Beijing
Franța: Paris
India: Delhi
Nepal: Kathmandu
Folosirea intervalului pentru buclă cu perechi cheie-valoare (versiunea C ++ 17 în continuare)
Această versiune este acceptată începând cu c ++ 17 și oferă o modalitate mai flexibilă de iterare pe hartă. Puteți accesa în mod explicit perechea cheie-valoare pe hartă, care oferă o soluție și mai lizibilă.
#include
#include
Ieșire:
China: Beijing
Franța: Paris
India: Delhi
Nepal: Kathmandu
Totul este despre cum să iterați pe hartă în C++. Codificare fericită!