Tässä pikaoppaassa näemme kuinka iteroida kartalla C: ssä++.
On useita tapoja toistaa karttaa C: ssä++. C ++: n uudemmissa versioissa on edistyneempiä tapoja iteroida kartan yli C: ssä++.
Käydään läpi kukin yksitellen.
Käyttäminen silmukalle, jossa on stp :: map
Olemme luoneet kartan nimeltä countryCapitalKartta
ja lisäsi siihen avainarvoparit.
#sisältää
#sisältää
Tuotos:
Kiina: Peking
Ranska: Pariisi
Intia: Delhi
Nepal: Kathmandu
Kuten näette, olemme tulostaneet maa: pääoma (avain: arvo) silmukalle.
Jos huomaat, olemme käyttäneet auto
tyypin määrittelijä karttatoistimelle luettavuuden vuoksi. Voit käyttää kartta:: iteraattori
myös nimenomaisesti.
merkintä: Jos näet lähdön, se on lajiteltu avainten mukaan nousevassa järjestyksessä. Tämä johtuu siitä, että std :: map on lajiteltu assosiatiivinen säilö mukana toimitetulla vertailijalla (versio C ++ 11 alkaen). Koska emme toimittaneet yhtään vertailua, C ++ on käyttänyt merkkijonoon oletusvertailijaa.
While-silmukan käyttäminen stp :: mapin kanssa
Voimme käyttää myös while-silmukkaa silmukan sijaan.
#sisältää
#sisältää
Tuotos:
Kiina: Peking
Ranska: Pariisi
Intia: Delhi
Nepal: Kathmandu
Alueen perustaminen silmukalle (C ++ 11 -versio)
Jos käytät C ++ 11 -versiota, tämä on tyylikkäin tapa toistaa kartan yli C: ssä++. Voit välttää perinteisiä cubersome-silmukoita ja käyttää tätä.
#sisältää
#sisältää
Tuotos:
Kiina: Peking
Ranska: Pariisi
Intia: Delhi
Nepal: Kathmandu
Aluepohjaisen käyttö silmukassa avainarvoparien kanssa (C ++ 17 -versio)
Tätä versiota tuetaan vuodesta c ++ 17 lähtien, ja se tarjoaa joustavamman tavan kartoittaa karttaa. Voit käyttää nimenomaisesti avainarvoparia kartalla, joka tarjoaa entistä luettavamman ratkaisun.
#sisältää
#sisältää
Tuotos:
Kiina: Peking
Ranska: Pariisi
Intia: Delhi
Nepal: Kathmandu
Siinä kaikki siitä, miten iteroida kartan yli C: ssä++. Hyvää koodausta!