C++-vektorer er en del av STL (Standard Template Library). STL er et av mange biblioteker tilgjengelig for C++ som øker applikasjonenes effektivitet, fleksibilitet og ytelse. Vektorer er veldig nyttige og et viktig konsept for alle som ønsker å bli dyktigere i C++.
C++-vektorer er i hovedsak beholdere som du kan bruke til å lagre data. De gjør arbeidet med arrays rent og raskt, så å vite hvordan du bruker C++-vektorer er en verdifull ferdighet hvis du ønsker å utvikle en C++-applikasjon. Les videre mens vi diskuterer alt du trenger å vite om C++-vektorer.
Hva er C++-vektorer?
C++-vektorer er sekvensbeholdere som er en viktig komponent i standardmalbiblioteket. Vektorer representerer arrays som dynamisk kan endre størrelse under kjøring om nødvendig.
I motsetning til tradisjonelle matriser, trenger du ikke å administrere en vektors minneallokering eksplisitt. Vektorens beholder administrerer automatisk minnet. Du kan tenke på C++-vektorer som en dynamisk matrise som justerer seg selv etter å ha lagt til eller fjernet et element.
I tillegg arrangerer en vektor sine elementer sammenhengende. Dette betyr at du enkelt kan få tilgang til dem ved å bruke pekere eller iteratorer.
Hvordan std:: vektor fungerer
Nå som du er kjent med hva C++-vektorer er, må du forstå hvordan de fungerer før du kan begynne å bruke dem i koden din.
I slekt: Er C++ fortsatt relevant i 2021?
Når du bruker en C++ vektor, vil den sette inn nye elementer på slutten i differensialtid. Dette er fordi vektoren i noen tilfeller må utvides for å romme det nye elementet. Tilsvarende, hvis du skulle trekke ut det siste elementet i en vektor, ville det ta konstant tid vektoren ikke trenger å justere lengden (størrelsen).
For å bruke vektorer effektivt, bruker vi iteratorer og innebygde funksjoner. Iteratorer er pekere som brukes sammen med C++-vektorer. De forenkler å krysse vektorbeholderen. Det er mange forskjellige vektorfunksjoner, og vi skal se på noen av de viktige i neste avsnitt.
C++ vektorfunksjoner
La oss se på noen iterator- og STL-beholderfunksjoner som vanligvis brukes med C++-vektorer:
- begynne() returnerer en iteratorpeker som peker til det første elementet i vektoren.
- slutt() returnerer en iteratorpeker til etterendeposisjonen til vektorbeholderen.
- rbegin() er som begynne(), men det gir deg en omvendt iterator som peker på det siste elementet i vektoren.
- størrelse() returnerer et antall elementer som er lagret i vektoren.
- max_size() returnerer den maksimale kapasiteten til elementer som vektorbeholderen kan romme.
- endre størrelse (x) vil endre størrelsen på vektorbeholderen slik at den kan holde x elementer.
- tømme() returnerer sant hvis vektorbeholderen ikke har noen elementer.
- push_back() setter inn et nytt element i vektoren på slutten.
- pop_back() trekker ut et element fra enden av vektorbeholderen.
- sett inn() lar deg legge til et element til vektoren på en spesifisert posisjon.
C++ vektoreksempel
Å bruke vektorer i C++ gjør koding med arrays fleksibel og rask. La oss ta en titt på noen eksempelkode som bruker C++-vektorer.
#inkludere
#inkludere
bruker navneområde std;
void main()
{
vektor arr;
// push_back for å legge til elementer i slutten av beholderen vår
arr.push_back (10);
arr.push_back (5);
arr.push_back (20);
// vektor inneholder nå [10,5,20]
// bruk begin() iterator for å krysse beholderen til end()-pekeren
cout << "begin() og end() iteratorer: ";
for (auto j = arr.begin(); j != arr.end(); j++)
{
cout << *j << ' ';
}
// Forventet utgang: 10 5 20
// rbegin() og rend() brukes til å reversere traversering av vektorbeholder
cout << "rbegin() og rend() iteratorer: ";
for (auto j = arr.rbegin(); j != arr.rend(); j++)
{
cout << *j << ' ';
}
// Forventet utgang: 20 5 10
cout << "Størrelsen på matrisen er: " << arr.size() << endl;
// Forventet utgang: Størrelsen på matrisen er: 3
// Endre størrelse på array til å ha bare 2 elementer
arr.resize (2);
cout << "Størrelsen på matrisen er: " << arr.size() << endl;
// Forventet utgang: Størrelsen på matrisen er: 2
cout << "MaxSize(): " << arr.max_size() << endl;
cout << "Vektor tom? " << arr.empty() << endl;
// pop_back siste element
arr.pop_back();
// sett inn 5 i begynnelsen av matrisen
arr.insert (arr.begin(), 5);
}
I slekt: Hvordan lære C++ programmering
Bruke vektorer i C++
C++-vektorer er fleksible og kraftige, og det er derfor de er en viktig funksjon for alle C++-utviklere der ute. STL er et betydelig C++-bibliotek, og å utforske det i detalj kan hjelpe deg med å lage bedre applikasjoner.
Ønsker du å bedre forstå C++ med standard malbibliotek? Trykk på bøkene her.
Les Neste
- Programmering
- Programmering
- Objektorientert programmering

Fahad er forfatter ved MakeUseOf og studerer for tiden informatikk. Som en ivrig teknologiskribent sørger han for at han holder seg oppdatert med den nyeste teknologien. Han er spesielt interessert i fotball og teknologi.
Abonner på vårt nyhetsbrev
Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Klikk her for å abonnere