vector Modifiers C ++ Container Kirjasto Jaksot C ++ Yksinkertaistettu - Osa 7 Division 2 Johdanto Tämä on osa 7 minun sarja, Kontit Kirjasto sekvenssit C ++, yksinkertaistettu. Tässä osa sarjasta, katsomme menetelmiä, muuttavat vektori C ++. Oletan, että olet lukenut edellisen osat tässä sarjassa. Huomautus: Jos et näe koodia tai jos luulet jotain puuttuu (rikki linkki, kuva poissa), vain yhteyttä minuun [email protected]. Eli minuun yhteyttä pienintäkään ongelmaa olet mitä luet.
void push_back (const T & x); Tässä menetelmässä lisätään uusi elementti lopussa vektorin luettelon. Se saa arvon uuden elementin argumenttina. Arvo voi edustaa sen tunnisteen argumentti. Muista, että parametri, T on tyyppi paikkamerkki. Se tarkoittaa int tai float tai muuta esinettä tyyppi, mukaan lukien instantiated esineitä. Jos vektori on tyhjä, menetelmä tuo ensimmäinen elementti. Lue ja yrittää seuraava koodi: # include # include using namespace std; int main () {vektori myVtor; myVtor.push_back (4.5); myVtor.push_back (3.
6); cout cout palata 0; } Jos poikkeus heittänyt push_back () menetelmä, joka menetelmä ei ole vaikutusta. Jos poikkeus heitetään vektorin ei ole kiinni, ohjelmasi voi keskeyttää. Jos vektori koodin ja ohjelma kokonaisuudessaan on hyvin kirjoitettu, tuskin olisi poikkeus heitetään. void pop_back (); Tämä menetelmä vie ulos viimeisen elementin vektorin luettelosta. Se ei palauta mitään. Voi tietää, jos elementti poistettiin tarkastamalla koko vektorin. Koko vektori luettelo on vähennettävä 1 (näemme miten tarkistaa koko myöhemmin).
Seuraava ohjelma, joka näyttää mitään, osoittaa käyttö pop_back () menetelmällä. #include #include using namespace std; int main () {vektori myVtor; myVtor.push_back (4.5); myVtor.push_back (3.6); myVtor.pop_back (); palata 0; } Aseta Menetelmä minä annan sinulle kahdenlaisia insertin menetelmän. iteraattori insertti (iteraattori asema, vakio T & x); Vuodesta parametrit, tämä menetelmä lisää arvoa x vektori luettelon asemassa tunnistetaan iteraattori. Se palauttaa iteraattori puolelle, johon kopio on tehty. Joten parametri iteraattori ja paluu iteraattori pitäisi viitata sama asia.
Sen jälkeen, kun lisäys yksi elementti, koko vektorin luettelon kasvatetaan yhdellä. Huomautus: iteraattori voidaan kasvattaa viitata seuraaviin elementtiä tai vähennetään viitata edelliseen elementtiin. Lue ja yrittää seuraava koodi: # include # include using namespace std; int main () {vektori myVtor
(5); myVtor [0] = ''; 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 palata 0; } Salaisuus mainitsin edellisessä osa sarjasta ilmenee tässä seuraavasti: aloittaa Metodi palauttaa iteraattori. Insertti menetelmä käyttää tätä iteraattori yhtenä argumentteja lisätä elementtiin. Kuten lupasin, et todellakaan tarvitse tietää yksityiskohtia iteraattori voidakseen käyttää sitä vektorin. Viimeinen mutta yksi lausunto yläpuolella vahvistaa, että tekijä sisällytettäisiin. void insert (iteraattori asema, size_type n, vakio T & x); Tämän toisen sisäkkeen menetelmällä, on uusi parametri, joka menee väliin muut parametrit.
Tämä uusi parametri on useita tekijöitä haluat lisätä. Ensimmäinen parametri antaa alku sijoittautumiskohdan vektori luetteloon. Viimeinen parametri on yksi sama kohde, joka lisätään peräkkäin kuin uusia elementtejä. Tämä menetelmä palauttaa mitään (void). Lue ja yrittää seuraava koodi: # include # include using namespace std; int main () {vektori myVtor
(2); myVtor [0] = ''; myVtor [1] = "B"; __gnu_cxx :: __ normal_iterator>> iter = myVtor.begin (); ++ Iter; myVtor.insert (ITER, 3, 'Z'); cout cout cout cout cout return 0; } Seuraavaan tapaan on kahdenlaisia.
iteraattori poistaa (iteraattori asennossa); Tämä menetelmä poistaa elementin tarkoittamat iteraattori argumentti. Se palauttaa iteraattori asennon elementin poistettu. Lue ja yrittää seuraava koodi: # include # include using namespace std; int main () {vektori myVtor
(5); myVtor [0] = ''; 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 palata 0; } Ohjelma käyttää loppuun menetelmää kohtaan juuri kun viimeinen elementti. Iteraattori pienennetään kahdesti.
Tuloksena iteraattori käytetään nyt poistaa neljäs elementti. Viimeinen mutta yksi lausunto näyttää uuden neljäs osa, joka oli viides elementti. Vaikka menetelmä tai funktio voi palauttaa arvon, sinun ei tarvitse käyttää (määrittää) palautettu arvo. Palauttaa arvon poisto menetelmää tässä ei ole käytetty. iteraattori poistaa (iteraattori ensimmäinen, iteraattori viimeinen); Menetelmä voi poistaa erilaisia elementtejä luettelosta. Se vie iteraattori joka viittaa ensimmäinen osa-alue ja toinen iteraattori joka viittaa viimeinen osa-alue.
Palasi iteraattori viittaa elementtiin, joka oli hieman alle alue. Seuraava koodi kuvaa tätä: # include # include using namespace std; int main () {vektori myVtor
(5); myVtor [0] = ''; myVtor [1] = "B"; myVtor [2] = "C"; myVtor [3] = 'D'; myVtor [4] = "E"; __gnu_cxx :: __ normal_iterator>> iter1 = myVtor.begin (); ++ Iter1; __gnu_cxx :: __ normal_iterator>>