C ++

Kā atkārtot karti C ++

Kā atkārtot karti C ++
Šajā ātrajā apmācībā mēs redzēsim, kā kartēt C kartē++.

Ir vairāki veidi, kā atkārtot karti C++. Izmantojot jaunākas C ++ versijas, ir vairāk uzlabotu veidu, kā atkārtot karti C++.

Ejam cauri katram pa vienam.

Izmantojot cilpu ar stp :: map

Mēs esam izveidojuši karti ar nosaukumu countryCapitalMap un tajā ievietoja atslēgu vērtību pārus.


# iekļaut
# iekļaut
# iekļaut
# iekļaut
# iekļaut
izmantojot nosaukumvietu std;
int main ()
// Inicializējiet karti
karte> "Indija", "Deli"));
countryCapitalMap.ievietot (pāris("Nepāla", "Katmandu"));
countryCapitalMap.ievietot (pāris("Ķīna", "Pekina"));
countryCapitalMap.ievietot (pāris("Francija", "Parīze"));
// Iterēt, izmantojot ciklu iteratoru
domēnam (auto itr = countryCapitalMap.sākt (); itr != countryCapitalMap.beigas (); itr ++)

std :: cout << itr->pirmais // Piekļuves atslēga
<< ':'
<< itr->otrais // Piekļuves vērtība
<< std::endl;

atgriešanās 0;


Izeja:

Ķīna: Pekina
Francija: Parīze
Indija: Deli
Nepāla: Katmandu

Kā redzat, mums ir iespiesta valsts: kapitāls (atslēga: vērtība), izmantojot cilpu.

Ja pamanāt, mēs esam izmantojuši auto tipa iterators kartes iteratoram lasāmības dēļ. Tu vari izmantot karte:: iterators tieši tāpat.
Piezīme: Ja redzat izvadi, tas tiek sakārtots pēc atslēgām augošā secībā. Tas notiek tāpēc, ka std :: map ir sakārtots asociatīvs konteiners ar komplektācijā iekļauto Comparator (versija C ++ 11 un tālāk). Tā kā mēs nesniedzām nevienu salīdzinātāju, C ++ virknei izmantoja noklusējuma Comparator.

Izmantojot cilpu ar stp :: map

Mēs varam arī izmantot īslaicīgu cilpu, nevis cilpu.


# iekļaut
# iekļaut
# iekļaut
# iekļaut >
izmantojot nosaukumvietu std;
int main ()
// Inicializējiet karti
karte countryCapitalMap;
// Ievietojiet kartē dažādus elementus
countryCapitalMap.ievietot (pāris("Indija", "Deli"));
countryCapitalMap.ievietot (pāris("Nepāla", "Katmandu"));
countryCapitalMap.ievietot (pāris("Ķīna", "Pekina"));
countryCapitalMap.ievietot (pāris("Francija", "Parīze"));
// Izveidojiet kartes iteratoru un Inicializējiet ar sākumu
auto itr = countryCapitalMap.sākt ();
// Iterēt, izmantojot iteratoru, kamēr cikls
kamēr (itr!= countryCapitalMap.beigas ())

std :: cout << itr->pirmais // Piekļuves atslēga
<< ':'
<< itr->otrais // Piekļuves vērtība
<< std::endl;
itr ++;

atgriešanās 0;


Izeja:

Ķīna: Pekina
Francija: Parīze
Indija: Deli
Nepāla: Katmandu

Izmantojot diapazonu, kas balstīts uz cilpu (C ++ 11 versija un tālāk)

Ja izmantojat C ++ 11 versiju, tas ir viselegantākais veids, kā atkārtot karti C++. Jūs varat izvairīties no tradicionālajām kubicīgajām cilpām un to izmantot.


# iekļaut
# iekļaut
# iekļaut
izmantojot nosaukumvietu std;
int main ()
// Inicializējiet karti
karte countryCapitalMap;
// Ievietojiet kartē dažādus elementus
countryCapitalMap.ievietot (pāris("Indija", "Deli"));
countryCapitalMap.ievietot (pāris("Nepāla", "Katmandu"));
countryCapitalMap.ievietot (pāris("Ķīna", "Pekina"));
countryCapitalMap.ievietot (pāris("Francija", "Parīze"));
// Iterēt, izmantojot cilni iteratoru
domēnam (const auto & ele: countryCapitalMap)
cout <
atgriešanās 0;


Izeja:
Ķīna: Pekina
Francija: Parīze
Indija: Deli
Nepāla: Katmandu

Izmantojot diapazonu, izmantojot cilpu ar atslēgu vērtību pāriem (C ++ 17 versija un tālāk)

Šī versija tiek atbalstīta no c ++ 17 un nodrošina elastīgāku veidu, kā atkārtot karti. Kartē varat skaidri piekļūt atslēgu un vērtību pārim, kas nodrošina vēl lasāmāku risinājumu.


# iekļaut
# iekļaut
# iekļaut
izmantojot nosaukumvietu std;
int main ()
// Inicializējiet karti
karte countryCapitalMap;
// Ievietojiet kartē dažādus elementus
countryCapitalMap.ievietot (pāris("Indija", "Deli"));
countryCapitalMap.ievietot (pāris("Nepāla", "Katmandu"));
countryCapitalMap.ievietot (pāris("Ķīna", "Pekina"));
countryCapitalMap.ievietot (pāris("Francija", "Parīze"));
// Iterēt, izmantojot ciklu iteratoru
priekš (const auto & [atslēga, vērtība]: countryCapitalMap)
cout << key << ":" << value << "\n";

atgriešanās 0;


Izeja:
Ķīna: Pekina
Francija: Parīze
Indija: Deli
Nepāla: Katmandu

Tas viss ir par to, kā atkārtot karti C++. Laimīgu kodēšanu!

Kā parādīt FPS skaitītāju Linux spēlēs
Linux spēles ieguva lielu impulsu, kad Valve 2012. gadā paziņoja par Linux atbalstu Steam klientam un viņu spēlēm. Kopš tā laika daudzas AAA un indie ...
Kā lejupielādēt un atskaņot Sid Meier Civilization VI operētājsistēmā Linux
Ievads spēlē Civilization 6 ir mūsdienīga klasiskā koncepcija, kas ieviesta Age of Empires spēļu sērijā. Ideja bija diezgan vienkārša; jūs sāktu pašā ...
Kā instalēt un spēlēt Doom uz Linux
Ievads liktenī Doom sērija radās 90. gados pēc sākotnējā Doom izlaišanas. Tas bija tūlītējs hīts, un kopš tā laika spēļu sērija ir saņēmusi daudzas ba...