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

Vector Modifiers i C ++

Vektor Modifiers i C ++ Container Library sekvenser i C ++ Förenklad - Del 7 Division 2 Inledning Detta är den del 7 av min serie, Containrar bibliotekssekvenser i C ++, förenklad. I denna del av serien, tittar vi på de metoder som kommer att ändra en vektor i C ++. Jag antar att du har läst de tidigare delarna i denna serie. 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.

void push_back (const T & x); Detta förfarande adderar till ett nytt element i slutet av vektorn listan. Det tar värdet av den nya delen som argument. Värdet kan representeras av sin identifierare i argumentet. Kom ihåg att i parametern, T platshållare typ. Den står för en int eller float eller någon annan typ föremål, inklusive instansieras objekt. Om vektorn listan är tom, kommer med metoden i det första elementet. Läs och prova följande kod: #include #include using namespace std; int main () {vector myVtor; myVtor.push_back (4,5); myVtor.

push_back (3,6); cout cout återvända 0; } Om ett undantag kastas av push_back () metoden, har denna metod ingen effekt. Om ett undantag från en vektor inte fångas, kan programmet avbryta. Om vektor koden och programmet i sin helhet är välskriven, knappast skulle ett undantag kastas. void pop_back (); Den här metoden tar ut det sista elementet från vektorlistan. Det går inte tillbaka någonting. Du kan veta om elementet avlägsnades genom att kontrollera storleken på vektorn. Storleken av vektorn listan minskas med 1 (vi får se hur man kontrollerar storleken senare).

Följande program, som visar ingenting, visar användningen av pop_back () metoden. #include #include using namespace std; int main () {vector myVtor; myVtor.push_back (4,5); myVtor.push_back (3,6); myVtor.pop_back (); återvända 0; } Infoga metod I kommer att ge dig två typer av insatsmetoden. iterator insats (iterator läge, const T & x); Från parametrarna, infogar denna metod värdet x i en vektor lista vid en position som identifierats av en iterator. Den returnerar en iterator av positionen där kopian har gjorts. Så parametern iterator och retur iterator bör hänvisa till samma sak.

Efter insättning ett element, är storleken på vektorlista ökade med en. Obs: En iterator kan ökas för att hänvisa till följande element eller minskas för att hänvisa till föregående element. Läs och prova följande kod: #include #include using namespace std; int main () {vektor myVtor

(5); myVtor [0] = 'A'; myVtor [1] = "B"; myVtor [2] = "C"; myVtor [3] = 'D'; myVtor [4] = "E"; __gnu_cxx :: __ normal_iterator>> iter1 = myVtor.begin (); ++ iter1; __gnu_cxx :: __ normal_iterator>> iter2 = myVtor.

insert (iter1, "Z"); cout återvända 0; } Hemligheten jag nämnde i den tidigare delen av serien visar sig här enligt följande: börjar metoden returnerar en iterator. Insatsen metod använder denna iterator som ett av sina argument för att infoga ett element. Som jag lovade, behöver du inte verkligen behöver känna till detaljer om iterator för att kunna använda den med vektorn. Den näst sista uttalande ovan bekräftar att elementet infördes. void insats (iterator läge, size_type n, const T & x); Med denna andra insatsmetod, det finns en ny parameter, som går mellan de andra parametrarna.

Denna nya parametern är antalet element som du vill infoga. Den första parametern anger startinföringsläge i vektorn listan. Den sista parametern är den enskilt samma objekt som kommer att införas i följd som nya inslag. Den här metoden returnerar ingenting (void). Läs och prova följande kod: #include #include using namespace std; int main () {vektor myVtor

(2); myVtor [0] = 'A'; myVtor [1] = "B"; __gnu_cxx :: __ normal_iterator>> iter = myVtor.begin (); ++ iter; myVtor.insert (iter, 3, "Z"); cout cout cout cout cout avkastning 0; } Nästa metod har två typer.

iterator erase (iterator läge); Denna metod tar bort ett element betecknas med iterator argument. Den returnerar iteratorn av positionen hos elementet avlägsnas. Läs och prova följande kod: #include #include using namespace std; int main () {vektor myVtor

(5); myVtor [0] = 'A'; myVtor [1] = "B"; myVtor [2] = "C"; myVtor [3] = 'D'; myVtor [4] = "E"; __gnu_cxx :: __ normal_iterator>> iter1 = myVtor.end (); --iter1; --iter1; myVtor.erase (iter1); cout återvända 0; } Programmet använder slut metod för att peka strax efter det sista elementet. Iteratorn dekrementeras två gånger.

Den erhållna iterator används nu för att radera det fjärde elementet. Den näst sista uttalande visar den nya fjärde elementet, som var det femte elementet. Även om en metod eller funktion kan returnera ett värde, behöver du inte använda (överlåta) den returnerade värdet. Har inte använts returvärdet på raderingsmetod här. iterator erase (iterator först, iterator sist); Metoden kan radera en rad element i listan. Det tar en iterator som refererar till den första delen av intervallet och en annan iterator som refererar till den sista delen av intervallet.

Den returnerade iterator hänvisar till det element som var strax under intervallet. Följande kod illustrerar detta: #include #include using namespace std; int main () {vektor myVtor

(5); myVtor [0] = 'A'; myVtor [1] = "B"; myVtor [2] = "C"; myVtor [3] = 'D'; myVtor [4] = "E"; __gnu_cxx :: __ normal_iterator>> iter1 = myVtor.begin (); ++ iter1; __gnu_cxx :: __ normal_iterator>>

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