Šioje greitoje pamokoje pamatysime, kaip kartoti žemėlapį C++.
Yra keli kartojimo būdai per žemėlapį C++. Naudojant naujesnes C ++ versijas, yra tobulesnių būdų kartoti žemėlapį C++.
Peržiūrėkime kiekvieną po vieną.
Naudojimas kilpai su „stp :: map“
Mes sukūrėme žemėlapį pavadinimu countryCapitalMap
ir į ją įterpė raktų-vertybių poras.
# įtraukti
# įtraukti
Išvestis:
Kinija: Pekinas
Prancūzija: Paryžius
Indija: Delis
Nepalas: Katmandu
Kaip matote, mes turime atspausdintą šalį: kapitalas (raktas: vertė), naudodami ciklą.
Jei pastebėsite, mes panaudojome automatinis
žemėlapio iteratoriaus tipo specifikatorius dėl skaitomumo. Tu gali naudoti žemėlapis:: iteratorius
taip pat aiškiai.
Pastaba: Jei matote išvestį, ji rūšiuojama pagal raktus didėjimo tvarka. Taip yra todėl, kad „std :: map“ yra rūšiuojamas asociacinis konteineris su pateiktu „Comparator“ (versija C ++ 11 ir toliau). Kadangi mes nepateikėme jokio lyginamojo elemento, C ++ eilutei naudojo numatytąjį „Comparator“.
„While loop“ naudojimas su „stp :: map“
Mes taip pat galime naudoti „loop“, o ne „loop“.
# įtraukti
# įtraukti
Išvestis:
Kinija: Pekinas
Prancūzija: Paryžius
Indija: Delis
Nepalas: Katmandu
Naudojant diapazoną pagal kilpą (C ++ 11 versija ir toliau)
Jei naudojate C ++ 11 versiją, tai yra elegantiškiausias būdas kartoti žemėlapį C++. Galite vengti tradicinių „cubersome“ kilpų ir naudoti tai.
# įtraukti
# įtraukti
Išvestis:
Kinija: Pekinas
Prancūzija: Paryžius
Indija: Delis
Nepalas: Katmandu
Naudojant diapazoną pagal kilpą su raktų reikšmių poromis (C ++ 17 versija ir toliau)
Ši versija palaikoma nuo c ++ 17 ir suteikia lankstesnį kartojimo per žemėlapį būdą. Žemėlapyje galite aiškiai pasiekti raktų-vertybių porą, kuri suteikia dar aiškesnį sprendimą.
# įtraukti
# įtraukti
Išvestis:
Kinija: Pekinas
Prancūzija: Paryžius
Indija: Delis
Nepalas: Katmandu
Viskas apie tai, kaip kartoti žemėlapį C++. Laimingo kodavimo!