C++ vektorer er en del af STL (Standard Template Library). STL er et af mange tilgængelige biblioteker til C++, som øger applikationernes effektivitet, fleksibilitet og ydeevne. Vektorer er meget nyttige og et vigtigt koncept for alle, der ønsker at blive dygtige i C++.

C++ vektorer er i det væsentlige containere, som du kan bruge til at gemme data. De gør arbejdet med arrays rent og hurtigt, så det er en værdifuld færdighed at vide, hvordan man bruger C++-vektorer, hvis du ønsker at udvikle en C++-applikation. Læs videre, mens vi diskuterer alt, hvad du behøver at vide om C++ vektorer.

Hvad er C++-vektorer?

C++ vektorer er sekvensbeholdere, der er en væsentlig komponent i Standard Template Library. Vektorer repræsenterer arrays, der dynamisk kan ændre størrelse under kørsel, hvis det kræves.

I modsætning til traditionelle arrays behøver du ikke at administrere en vektors hukommelsesallokering eksplicit. Vektorens beholder styrer automatisk sin hukommelse. Du kan tænke på C++ vektorer som et dynamisk array, der justerer sig selv efter tilføjelse eller fjernelse af et element.

instagram viewer

Derudover arrangerer en vektor sine elementer sammenhængende. Det betyder, at du nemt kan få adgang til dem ved hjælp af pointere eller iteratorer.

Hvordan std:: vektor virker

Nu hvor du er bekendt med, hvad C++ vektorer er, skal du forstå, hvordan de fungerer, før du kan begynde at bruge dem i din kode.

Relaterede: Er C++ stadig relevant i 2021?

Når du bruger en C++ vektor, vil den indsætte nye elementer i slutningen i differentiel tid. Dette skyldes, at vektoren i nogle tilfælde skal udvides for at rumme det nye element. Tilsvarende, hvis du skulle udtrække det sidste element i en vektor, ville det tage konstant tid, vektoren ikke behøver at justere sin længde (størrelse).

For at bruge vektorer effektivt gør vi brug af iteratorer og indbyggede funktioner. Iteratorer er pointere, der bruges sammen med C++-vektorer. De forenkler at krydse vektorbeholderen. Der er mange forskellige vektorfunktioner, og vi vil se på nogle af de vigtige i næste afsnit.

C++ vektorfunktioner

Lad os se på nogle iterator- og STL-beholderfunktioner, der almindeligvis bruges med C++-vektorer:

  1. begynde() returnerer en iterator-pointer, der peger på det første element i vektoren.
  2. ende() returnerer en iterator-markør til efter-endepositionen af ​​vektorbeholderen.
  3. rbegin() er ligesom begynde(), men det giver dig en omvendt iterator, der peger på det sidste element i vektoren.
  4. størrelse() returnerer et antal elementer gemt i vektoren.
  5. max_size() returnerer den maksimale kapacitet af elementer, som vektorbeholderen kan rumme.
  6. ændre størrelse (x) vil ændre størrelsen på vektorbeholderen, så den kan holde x elementer.
  7. tom() returnerer sand, hvis vektorbeholderen ikke har nogen elementer.
  8. skub tilbage() indsætter et nyt element i vektoren til sidst.
  9. pop_back() udtrækker et element fra enden af ​​vektorbeholderen.
  10. indsæt() giver dig mulighed for at tilføje et element til vektoren på en specificeret position.

C++ vektoreksempel

Brug af vektorer i C++ gør kodning med arrays fleksibel og hurtig. Lad os tage et kig på noget eksempelkode, der bruger C++ vektorer.

#omfatte
#omfatte
bruger navneområde std;
void main()
{
vektor arr;
// push_back for at tilføje elementer til slutningen af ​​vores container
arr.push_back (10);
arr.push_back (5);
arr.push_back (20);
// vektor indeholder nu [10,5,20]
// brug start() iterator til at krydse container indtil end() pointer
cout << "begin() og end() iteratorer: ";
for (auto j = arr.begin(); j != arr.end(); j++)
{
cout << *j << ' ';
}
// Forventet output: 10 5 20
// rbegin() og rend() bruges til at vende tilbage til vektorbeholderen
cout << "rbegin() og rend() iteratorer: ";
for (auto j = arr.rbegin(); j != arr.rend(); j++)
{
cout << *j << ' ';
}
// Forventet output: 20 5 10
cout << "Størrelsen af ​​array er: " << arr.size() << endl;
// Forventet output: Størrelsen af ​​array er: 3
// Ændr størrelse på matrix til kun at have 2 elementer
arr.resize (2);
cout << "Størrelsen af ​​array er: " << arr.size() << endl;
// Forventet output: Størrelsen af ​​array er: 2
cout << "MaxSize(): " << arr.max_size() << endl;
cout << "Vektor Tom? " << arr.empty() << endl;
// pop_back sidste element
arr.pop_back();
// indsæt 5 i begyndelsen af ​​array
arr.insert (arr.begin(), 5);
}

Relaterede: Sådan lærer du C++ programmering

Brug af vektorer i C++

C++-vektorer er fleksible og kraftfulde, hvorfor de er en væsentlig funktion for enhver C++-udvikler derude. STL er et betydeligt C++ bibliotek, og at udforske det i detaljer kan hjælpe dig med at skabe bedre applikationer.

En begyndervejledning til standardskabelonbiblioteket i C++

Ønsker du at forstå C++ bedre med standardskabelonbiblioteket? Hit bøgerne her.

Læs Næste

DelTweetE-mail
Relaterede emner
  • Programmering
  • Programmering
  • Objektorienteret programmering
Om forfatteren
M. Fahad Khawaja (76 artikler udgivet)

Fahad er forfatter på MakeUseOf og er i øjeblikket ved at studere datalogi. Som en ivrig tech-skribent sørger han for, at han holder sig opdateret med den nyeste teknologi. Han finder sig især interesseret i fodbold og teknologi.

Mere fra M. Fahad Khawaja

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere