C ++

Kuidas C ++ kaardil korrata

Kuidas C ++ kaardil korrata
Selles kiires õpetuses näeme, kuidas C-s kaardil korrata++.

C-s oleva kaardi kohal kordamiseks on mitu võimalust++. C ++ uuemate versioonide korral on C-is kaardi kohal kordamiseks täpsemaid viise++.

Läheme igaüks ükshaaval läbi.

Kasutamine silmuseks koos stp :: mapiga

Oleme loonud kaardi nimega countryCapitalMap ja sisestas sellele võtmeväärtuste paarid.


# kaasata
# kaasata
# kaasata
# kaasata
# kaasata
nimeruumi kasutamine std;
int main ()
// Kaardi lähtestamine
kaart> "India", "Delhi"));
countryCapitalMap.sisesta (paar("Nepal", "Katmandu"));
countryCapitalMap.sisesta (paar("Hiina", "Peking"));
countryCapitalMap.sisesta (paar("Prantsusmaa", "Pariis"));
// Iterate iteraatori abil loopi jaoks
for (auto itr = countryCapitalMap.algama (); itr != countryCapitalMap.lõpp(); itr ++)

std :: cout << itr->esimene // pääsuklahv
<< ':'
<< itr->teine ​​// Juurdepääsu väärtus
<< std::endl;

tagastama 0;


Väljund:

Hiina: Peking
Prantsusmaa: Pariis
India: Delhi
Nepal: Katmandu

Nagu näete, oleme silmuseks trükkinud country: capital (key: value).

Kui märkate, oleme kasutanud automaatne tüübi täpsustus kaardi iteraatorile loetavuse tõttu. Sa võid kasutada kaart:: iteraator ka selgesõnaliselt.
Märge: Kui näete väljundit, sorteeritakse see võtmete järgi kasvavas järjekorras. Selle põhjuseks on asjaolu, et std :: map on sorteeritud assotsiatiivne konteiner kaasasoleva komparaatoriga (versioon C ++ 11 ja edasi). Kuna me ei pakkunud ühtegi võrdlust, on C ++ stringi jaoks kasutanud vaikimisi võrdlevat seadet.

While-i kasutamine stp :: mapiga

Võime loopi asemel kasutada ka mõnda silmust.


# kaasata
# kaasata
# kaasata
# kaasata >
nimeruumi kasutamine std;
int main ()
// Kaardi lähtestamine
kaart countryCapitalMap;
// Sisestage kaardile erinevad elemendid
countryCapitalMap.sisesta (paar("India", "Delhi"));
countryCapitalMap.sisesta (paar("Nepal", "Katmandu"));
countryCapitalMap.sisesta (paar("Hiina", "Peking"));
countryCapitalMap.sisesta (paar("Prantsusmaa", "Pariis"));
// Looge kaardile iteraator ja lähtestage algusega
auto itr = riikKapitali kaart.algama ();
// Iterate iteraatori abil while loopi abil
samas (itr!= countryCapitalMap.lõpp())

std :: cout << itr->esimene // pääsuklahv
<< ':'
<< itr->teine ​​// Juurdepääsu väärtus
<< std::endl;
itr ++;

tagastama 0;


Väljund:

Hiina: Peking
Prantsusmaa: Pariis
India: Delhi
Nepal: Katmandu

Vahemiku põhjal vahemiku kasutamine (C ++ 11 versioon alates)

Kui kasutate versiooni C ++ 11, on see kõige elegantsem viis kaardil C-s kordamiseks++. Võite vältida traditsioonilisi tülikaid silmuseid ja kasutada seda hoopis.


# kaasata
# kaasata
# kaasata
nimeruumi kasutamine std;
int main ()
// Kaardi lähtestamine
kaart countryCapitalMap;
// Sisestage kaardile erinevad elemendid
countryCapitalMap.sisesta (paar("India", "Delhi"));
countryCapitalMap.sisesta (paar("Nepal", "Katmandu"));
countryCapitalMap.sisesta (paar("Hiina", "Peking"));
countryCapitalMap.sisesta (paar("Prantsusmaa", "Pariis"));
// Iterate iteraatori abil loopi jaoks
for (const auto & ele: countryCapitalMap)
cout <
tagastama 0;


Väljund:
Hiina: Peking
Prantsusmaa: Pariis
India: Delhi
Nepal: Katmandu

Vahemikupõhise kasutamine silmuse jaoks võtmeväärtuste paaridega (versioon C ++ 17 ja edasi)

Seda versiooni toetatakse alates versioonist c ++ 17 ja see pakub paindlikumat viisi kaardil kordamiseks. Kaardil on selgesõnaline juurdepääs võtmeväärtuste paarile, mis pakub veelgi loetavamat lahendust.


# kaasata
# kaasata
# kaasata
nimeruumi std kasutamine;
int main ()
// Kaardi lähtestamine
kaart countryCapitalMap;
// Sisestage kaardile erinevad elemendid
countryCapitalMap.sisesta (paar("India", "Delhi"));
countryCapitalMap.sisesta (paar("Nepal", "Katmandu"));
countryCapitalMap.sisesta (paar("Hiina", "Peking"));
countryCapitalMap.sisesta (paar("Prantsusmaa", "Pariis"));
// Iterate iteraatori abil loopi jaoks
for (const auto & [võti, väärtus]: countryCapitalMap)
cout << key << ":" << value << "\n";

tagastama 0;


Väljund:
Hiina: Peking
Prantsusmaa: Pariis
India: Delhi
Nepal: Katmandu

See kõik käib selle kohta, kuidas C-s kaarti korrata++. Head kodeerimist!

Kuidas Linuxis oma mänguseanssi jäädvustada ja voogesitada
Varem peeti mängude mängimist ainult hobiks, kuid aja jooksul kasvas mängutööstus tehnoloogia ja mängijate arvu osas tohutult. Mängupublik on veebimän...
Parimad mängud, mida saab mängida käte jälgimisega
Oculus Quest tutvustas hiljuti suurepärast ideed käsitsi jälgimisest ilma kontrolleriteta. Üha suurema hulga mängude ja tegevustega, mis toetavad kas ...
Kuidas kuvada OSD ülekatet täisekraanil Linuxi rakendustes ja mängudes
Täisekraaniga mängude mängimine või rakenduste kasutamine häireteta täisekraanirežiimis võib teid paneelil või tegumiribal kuvatavast asjakohasest süs...