*   >> Lezen Onderwijs artikelen >> science >> programming

Vector Modifiers in C ++

Vector Modifiers in C ++ Container bibliotheek sequenties in C ++ vereenvoudigd - Deel 7 Division 2 Inleiding Dit is het deel 7 van mijn reeks, Containers Bibliotheek sequenties in C ++, vereenvoudigd. In dit deel van de serie, kijken we naar de methoden die een vector in C ++ zal wijzigen. Ik neem aan dat je de vorige delen van deze serie hebt gelezen. Opmerking: Als u de code niet kunt zien of als u denkt dat er iets ontbreekt (gebroken link afbeelding afwezig), neem dan contact met mij op [email protected].

Dat wil contact met mij op voor het geringste probleem dat je hebt over wat je aan het lezen bent. leegte push_back (const T & x); Deze werkwijze voegt een nieuw element aan het eind van de vector lijst. Het neemt de waarde van het nieuw element als argument. De waarde kan worden vertegenwoordigd door zijn identificatie in het argument. Vergeet niet, in de parameter, T is de standaard type. Het staat voor een int of float of een ander type object, inclusief geïnstantieerd objecten. Als de vector lijst leeg is, brengt de werkwijze het eerste element.

Lees en probeer de volgende code: #include #include using namespace std; int main () {vector myVtor; myVtor.push_back (4.5); myVtor.push_back (3,6); cout coût 0 terugkeren; } Als een uitzondering wordt gegooid door de methode push_back (), deze methode heeft geen effect. Als een uitzondering gegooid vanaf een vector niet wordt betrapt, kan uw programma af te breken. Als uw vector-code en uw programma als geheel is goed geschreven, zou nauwelijks een uitzondering worden geworpen. leegte pop_back (); Deze methode haalt het laatste element van de vector lijst. Het niets terug.

U kunt weten of het element werd verwijderd door controleren van de grootte van de vector. De grootte van de vector lijst wordt verminderd met 1 (we zullen zien hoe de grootte later controleren). Het volgende programma, dat niets weergeeft, toont het gebruik van de werkwijze pop_back (). #include #include using namespace std; int main () {vector myVtor; myVtor.push_back (4.5); myVtor.push_back (3,6); myVtor.pop_back (); 0 terug; } Invoegen Methode Ik zal je twee soorten van de insert methode.

iterator inzetstuk (iterator positie, const T & x); Uit de parameters, voegt deze methode de waarde x in een lijst vector op een positie die door een iterator. Het geeft een iterator van de positie waar de kopie is gemaakt. Zodat de parameter iterator en de terugkeer iterator moet verwijzen naar het zelfde ding. Na insertie één element, is de grootte van de vector lijst verhoogd. Opmerking: Een repeater kan worden verhoogd om te verwijzen naar het volgende element of verlaagd te verwijzen naar de voorgaande element.

Lees en probeer de volgende code: #include #include using namespace std; int main () {vector 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 0 terug; } Het geheim I in het voorgaande deel van de reeks genoemde manifesteert zich hier als volgt: Het begin retourneert een iterator. Het insert werkwijze gebruikt deze iterator als een van zijn argumenten element voegen.

Zoals ik beloofd, hoef je niet echt nodig om de details van de iterator weten om het te gebruiken met de vector. Boven de één na laatste verklaring bevestigt dat het element werd ingebracht. leegte inzetstuk (iterator positie, size_type n, const T & x); Bij deze andere insert werkwijze is een nieuwe parameter, die gaat tussen de andere parameters. Deze nieuwe parameter is het aantal elementen die u wilt invoegen. De eerste parameter geeft de start invoegpositie in de vector lijst. De laatste parameter is de enige hetzelfde object dat achtereenvolgens als zal worden ingevoegd nieuwe elementen.

Deze methode retourneert niets (void). Lees en probeer de volgende code: #include #include using namespace std; int main () {vector 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 return 0; } De volgende methode heeft twee soorten. iterator wissen (iterator positie); Deze methode verwijdert een door de iterator argument genoemd element. Het geeft de iterator van de positie van het element verwijderd.

Lees en probeer de volgende code: #include #include using namespace std; int main () {vector 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 0 terug; } Het programma gebruikt de methode eind punt net na het laatste element. De iterator wordt twee keer verlaagd. De resulterende iterator wordt nu gebruikt om het vierde element gewist. De voorlaatste verklaring geeft de nieuwe vierde element, dat het vijfde element was.

Ook al is een methode of functie een waarde kan terugkeren, hoef je niet te gebruiken (toewijzen) de geretourneerde waarde. De return waarde van de wismethode hier niet is gebruikt. iterator wissen (iterator eerste, iterator laatste); De methode kan een reeks elementen in de lijst te wissen. Het duurt een iterator die verwijst naar het eerste element van de reeks en een iterator die verwijst naar het laatste element van de reeks. Het teruggekeerde iterator betrekking op het element dat enkel onder range.

De volgende code illustreert dit: #include #include using namespace std; int main () {vector 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] [4] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.