C++ vektorid on osa STL-ist (Standard Template Library). STL on üks paljudest C++ jaoks saadaolevatest teekidest, mis suurendavad rakenduste tõhusust, paindlikkust ja jõudlust. Vektorid on väga kasulikud ja olulised kontseptsioonid kõigile, kes soovivad omandada C++ oskusi.

C++ vektorid on sisuliselt konteinerid, mida saate kasutada andmete salvestamiseks. Need muudavad massiividega töötamise puhtaks ja kiireks, seega on C++ vektorite kasutamise teadmine väärtuslik oskus, kui soovite arendada C++ rakendust. Lugege edasi, kui arutame kõike, mida peate C++ vektorite kohta teadma.

Mis on C++ vektorid?

C++ vektorid on jadakonteinerid, mis on standardse malliteegi oluline komponent. Vektorid esindavad massiive, mis võivad vajaduse korral käitusajal suurust dünaamiliselt muuta.

Erinevalt traditsioonilistest massiividest ei pea te vektori mälujaotust selgesõnaliselt haldama. Vektori konteiner haldab automaatselt oma mälu. C++ vektoreid võib pidada dünaamiliseks massiiviks, mis kohandub ennast pärast elemendi lisamist või eemaldamist.

instagram viewer

Lisaks paigutab vektor oma elemendid külgnevalt. See tähendab, et saate neile hõlpsasti juurde pääseda osutite või iteraatorite abil.

Kuidas std:: vektor töötab

Nüüd, kui olete kursis C++ vektoritega, peate mõistma, kuidas need toimivad, enne kui saate neid oma koodis kasutada.

Seotud: Kas C++ on 2021. aastal endiselt asjakohane?

Kui kasutate C++ vektorit, lisab see diferentsiaalaja lõppu uued elemendid. Selle põhjuseks on asjaolu, et mõnel juhul peab vektor uue elemendi jaoks laienema. Samamoodi, kui eraldaksite vektori viimase elemendi, kuluks konstantselt aega, mida vektor ei pea oma pikkuse (suuruse) reguleerimiseks.

Vektorite tõhusaks kasutamiseks kasutame iteraatoreid ja sisseehitatud funktsioone. Iteraatorid on osutid, mida kasutatakse koos C++ vektoritega. Need lihtsustavad vektori konteineri läbimist. Erinevaid vektorfunktsioone on palju ja järgmises jaotises vaatleme mõnda olulisemat.

C++ vektorfunktsioonid

Vaatame mõnda iteraatori ja STL konteineri funktsiooni, mida tavaliselt kasutatakse C++ vektoritega:

  1. alusta () tagastab iteraatori osuti, mis osutab vektori esimesele elemendile.
  2. lõpp() tagastab iteraatori osuti vektori konteineri lõpp-asendisse.
  3. rbegin() on nagu alusta (), kuid see annab teile vastupidise iteraatori, mis osutab vektori viimasele elemendile.
  4. suurus () tagastab vektorisse salvestatud elementide arvu.
  5. max_size() tagastab elementide maksimaalse mahu, mida vektormahuti mahutab.
  6. muuda suurust (x) muudab vektormahuti suurust nii, et see mahuks x elemendid.
  7. tühi() tagastab tõene, kui vektori konteineris pole elemente.
  8. lükka tagasi() lisab lõppu vektorisse uue elemendi.
  9. pop_back() ekstraheerib elemendi vektori konteineri otsast.
  10. insert () võimaldab lisada vektorile elemendi määratud kohas.

C++ vektori näide

Vektorite kasutamine C++-s muudab massiividega kodeerimise paindlikuks ja kiireks. Vaatame mõnda näidiskoodi, mis kasutab C++ vektoreid.

#kaasa
#kaasa
kasutades nimeruumi std;
void main()
{
vektor arr;
// push_back elementide lisamiseks meie konteineri lõppu
arr.push_back (10);
arr.push_back (5);
arr.push_back (20);
// vektor sisaldab nüüd [10,5,20]
// kasutage iteraatorit begin() konteineri läbimiseks kuni end() kursorini
cout << "begin() and end() iteraatorid: ";
for (auto j = arr.begin(); j != arr.end(); j++)
{
cout << *j << ' ';
}
// Eeldatav väljund: 10 5 20
// rbegin() ja rend(), mida kasutatakse vektorkonteineri ümberpööramiseks
cout << "rbegin() ja rend() iteraatorid: ";
for (auto j = arr.rbegin(); j != arr.rend(); j++)
{
cout << *j << ' ';
}
// Eeldatav väljund: 20 5 10
cout << "Massiivi suurus on: " << arr.size() << endl;
// Eeldatav väljund: massiivi suurus on: 3
// Muutke massiivi suurust, et sellel oleks ainult 2 elementi
arr.resize (2);
cout << "Massiivi suurus on: " << arr.size() << endl;
// Eeldatav väljund: massiivi suurus on: 2
cout << "MaxSize(): " << arr.max_size() << endl;
cout << "Vektor tühi? " << arr.empty() << endl;
// pop_back viimane element
arr.pop_back();
// sisestage massiivi algusesse 5
arr.insert (arr.begin(), 5);
}

Seotud: Kuidas õppida C++ programmeerimist

Vektorite kasutamine C++-s

C++ vektorid on paindlikud ja võimsad, mistõttu on need olulised funktsioonid iga C++ arendaja jaoks. STL on märkimisväärne C++ teek ja selle üksikasjalik uurimine võib aidata teil luua paremaid rakendusi.

C++ standardmalliteegi juhend algajatele

Kas soovite standardmalliteegi abil C++ paremini mõista? Otsige raamatuid siin.

Loe edasi

JagaSäutsMeil
Seotud teemad
  • Programmeerimine
  • Programmeerimine
  • Objektorienteeritud programmeerimine
Autori kohta
M. Fahad Khawaja (Avaldatud 76 artiklit)

Fahad on MakeUseOfi kirjanik ja on praegu arvutiteaduse erialal. Innuka tehnikakirjutajana hoolitseb ta selle eest, et oleks kursis uusima tehnoloogiaga. Ta on eriti huvitatud jalgpallist ja tehnoloogiast.

Veel M. Fahad Khawaja

Liituge meie uudiskirjaga

Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!

Tellimiseks klõpsake siin