U ovom brzom vodiču vidjet ćemo kako se iterirati na karti u C-u++.
Postoji više načina za prelazak preko karte u C-u++. S novijim verzijama C ++-a postoje napredniji načini prevođenja po karti u C-u++.
Prođimo svaki po jedan.
Korištenje for petlje sa stp :: map
Izradili smo mapu s imenom countryCapitalMap
i u njega umetnuli parove ključ / vrijednost.
#include
#include
Izlaz:
Kina: Peking
Francuska: Pariz
Indija: Delhi
Nepal: Kathmandu
Kao što vidite, ispisali smo country: capital (ključ: vrijednost) pomoću for petlje.
Ako primijetite, koristili smo auto
specifikator tipa za iterator karte zbog čitljivosti. Možeš koristiti karta:: iterator
eksplicitno također.
Bilješka: Ako vidite izlaz, sortiran je prema tipkama u uzlaznom redoslijedu. To je zato što je std :: map razvrstani asocijativni spremnik s isporučenim usporednikom (verzija C ++ 11 nadalje). Budući da nismo osigurali nijednu usporedbu, pa je C ++ za zadani niz upotrijebio zadani Usporednik.
Korištenje while petlje sa stp :: mapom
Također možemo koristiti while petlju umjesto for petlje.
#include
#include
Izlaz:
Kina: Peking
Francuska: Pariz
Indija: Delhi
Nepal: Kathmandu
Korištenje raspona temeljenog na petlji (verzija C ++ 11 nadalje)
Ako koristite verziju C ++ 11, onda je ovo najelegantniji način itiranja preko karte u C-u++. Možete izbjeći tradicionalne kubarne petlje i umjesto toga ih upotrijebiti.
#include
#include
Izlaz:
Kina: Peking
Francuska: Pariz
Indija: Delhi
Nepal: Kathmandu
Korištenje petlje temeljene na rasponu s parovima ključ / vrijednost (verzija C ++ 17 nadalje)
Ova je verzija podržana od c ++ 17 nadalje i pruža fleksibilniji način za iteraciju po karti. Možete izričito pristupiti paru ključ / vrijednost na mapi koji pruža još čitljivije rješenje.
#include
#include
Izlaz:
Kina: Peking
Francuska: Pariz
Indija: Delhi
Nepal: Kathmandu
To je sve o tome kako prelaziti preko karte u C-u++. Sretno kodiranje!