*   >> läser Utbildning artiklar >> science >> programming

Karta Modifiers i C ++

associativa Container i C ++ Förenklat - Del 4 Division 1 Inledning Detta är en del 4 av min serie, associativa Container i C ++ förenklad. I denna del av serien, ser vi på karta modifierings i C ++. Jag antar att du har läst alla förutsättningar. Obs: Om du inte kan se koden, eller om du tror att något saknas (bruten länk, bild frånvarande), bara att kontakta mig på [email protected]. Det vill säga, kontakta mig för minsta problem du har om vad du läser. Paret objekt Varje element i en karta är faktiskt ett objekt som kallas paret objektet.

C ++ har en i förväg beskrivna klass som kallas paret klassen. Denna klass har sin speciella karaktär. Klassen kan du gruppera (initiera) två valfria föremål av samma typ eller av olika slag som en enhet. Alla kartelement är indirekta instansieras objekt i paret klassen. Paret klass kan fås från kartan sidhuvudfilen. Du kan instansiera din egen par objekt oberoende av tillhörande behållare. Syntaxen är, par pairName (keyValue, TValue); Med detta kan du skapa ett objekt (nyckel /värde par) för en karta och sedan in föremål i kartan.

Mallargument för paret bör vara samma mall argument för kartan och samma mall argument för iterator, som används av kartan. iterator insats (iterator läge, const value_type & x); Denna metod infogar ett par objekt i en karta, där iterator pekar på. Det finns två argument, är den första en iterator positionen. Den andra är paret objektet. Läs och prova följande kod, som illustrerar detta: #include #include using namespace std; int main () {par myPr ("eee", 25); karta myMap; _Rb_tree_iterator> Iter = myMap.begin (); myMap.

insert (iter, myPr); cout återvända 0; } Size_type radera (const key_type & x); Du kan använda nyckeln till ett element för att radera elementet helt. Detta är vad denna metod gör. Läs och prova följande kod: #include #include using namespace std; int main () {karta myMap; myMap ["aaa"] = 47; myMap.erase ("AAA"); återvända 0; } Elementet med nyckel, "AAA" raderas. void erase (iterator läge); Denna raderingsmetod fungerar som ovan, men det tar en iterator som argument.

Läs och prova följande kod: #include #include using namespace std; int main () {karta myMap; myMap ["aaa"] = 47; _Rb_tree_iterator> Iter = myMap.begin (); myMap.erase (iter); återvända 0; } Void radering (iterator först, iterator sist); Detta raderar en sammanhängande uppsättning element. Läs och prova följande kod: #include #include using namespace std; int main () {karta myMap; myMap ["aaa"] = 47; myMap ["bbb"] = 58; myMap ["CCC"] = 63; _Rb_tree_iterator> IterFirst = myMap.

begin (); _Rb_tree_iterator>

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.