A C++ vektorok az STL (Standard Template Library) részei. Az STL egyike a C++ számára elérhető számos könyvtárnak, amelyek növelik az alkalmazások hatékonyságát, rugalmasságát és teljesítményét. A vektorok nagyon hasznosak és létfontosságúak bárki számára, aki jártas akar lenni a C++ nyelvben.
A C++ vektorok alapvetően konténerek, amelyeket adatok tárolására használhat. Tisztává és gyorssá teszik a tömbökkel való munkát, így a C++ vektorok használatának ismerete értékes készség, ha C++ alkalmazást szeretne fejleszteni. Olvasson tovább, miközben megbeszéljük mindazt, amit a C++ vektorokról tudnia kell.
Mik azok a C++ vektorok?
A C++ vektorok szekvenciatárolók, amelyek a Standard Template Library lényeges összetevői. A vektorok olyan tömböket képviselnek, amelyek szükség esetén dinamikusan változtathatják a méretüket futás közben.
A hagyományos tömböktől eltérően nem kell kifejezetten kezelni a vektor memóriafoglalását. A vektor tárolója automatikusan kezeli a memóriáját. A C++ vektorokat egy dinamikus tömbnek tekinthetjük, amely egy elem hozzáadása vagy eltávolítása után beállítja magát.
Ezen túlmenően egy vektor az elemeit összefüggően rendezi el. Ez azt jelenti, hogy könnyedén elérheti őket mutatókkal vagy iterátorokkal.
Hogyan működik az std:: vektor
Most, hogy ismeri a C++ vektorokat, meg kell értenie, hogyan működnek, mielőtt elkezdené használni őket a kódban.
Összefüggő: A C++ továbbra is releváns 2021-ben?
Ha C++ vektort használ, az új elemeket szúr be a végére a differenciális időben. Ennek az az oka, hogy bizonyos esetekben a vektornak ki kell tágulnia, hogy befogadja az új elemet. Hasonlóképpen, ha egy vektor utolsó elemét kinyernénk, állandó időbe telik, a vektornak nem kell módosítania a hosszát (méretét).
A vektorok hatékony használatához iterátorokat és beépített függvényeket használunk. Az iterátorok a C++ vektorok mellett használt mutatók. Leegyszerűsítik a vektortároló áthaladását. Sok különböző vektorfüggvény létezik, és a következő részben megvizsgálunk néhány fontosat.
C++ vektorfüggvények
Nézzünk meg néhány iterátor és STL konténer függvényt, amelyeket gyakran használnak C++ vektorokkal:
- kezdődik() egy iterátor mutatót ad vissza, amely a vektor első elemére mutat.
- vége () egy iterátor mutatót ad vissza a vektortároló utóvégi pozíciójába.
- rbegin() olyan, mint kezdődik(), de ez egy fordított iterátort ad, amely a vektor utolsó elemére mutat.
- méret() a vektorban tárolt elemek számát adja vissza.
- max_size() visszaadja az elemek maximális kapacitását, amelyet a vektortároló képes befogadni.
- átméretezés (x) átméretezi a vektortárolót, hogy elférjen benne x elemeket.
- üres() igazat ad vissza, ha a vektortárolónak nincsenek elemei.
- visszavet() a végén egy új elemet szúr be a vektorba.
- pop_back() kivesz egy elemet a vektortároló végéből.
- insert() lehetővé teszi egy elem hozzáadását a vektorhoz egy meghatározott helyen.
C++ vektoros példa
A vektorok használata a C++ nyelvben rugalmassá és gyorssá teszi a tömbök kódolását. Vessünk egy pillantást néhány mintakódra, amely C++ vektorokat használ.
#beleértve
#beleértve
névtér használata std;
void main()
{
vektor arr;
// push_back elemek hozzáadásához a tárolónk végéhez
arr.push_back (10);
arr.push_back (5);
arr.push_back (20);
// a vektor most tartalmazza: [10,5,20]
// használja a begin() iterátort a konténer bejárásához az end() mutatóig
cout << "begin() and end() iterátorok: ";
for (auto j = arr.begin(); j != arr.end(); j++)
{
cout << *j << ' ';
}
// Várható kimenet: 10 5 20
// Az rbegin() és a rend() a vektortároló bejárására szolgál
cout << "rbegin() és rend() iterátorok: ";
for (auto j = arr.rbegin(); j != arr.rend(); j++)
{
cout << *j << ' ';
}
// Várható kimenet: 20 5 10
cout << "A tömb mérete: " << arr.size() << endl;
// Várható kimenet: A tömb mérete: 3
// A tömb átméretezése, hogy csak 2 elem legyen
arr.resize (2);
cout << "A tömb mérete: " << arr.size() << endl;
// Várható kimenet: A tömb mérete: 2
cout << "MaxSize(): " << arr.max_size() << endl;
cout << "A vektor üres? " << arr.empty() << endl;
// pop_back utolsó elem
arr.pop_back();
// szúrjon be 5-öt a tömb elejére
arr.insert (arr.begin(), 5);
}
Összefüggő: Hogyan tanuljunk C++ programozást
Vektorok használata C++ nyelven
A C++ vektorok rugalmasak és hatékonyak, ezért minden C++ fejlesztő számára nélkülözhetetlen szolgáltatást jelentenek. Az STL egy jelentős C++ könyvtár, amelynek részletes feltárása segíthet jobb alkalmazások létrehozásában.
Szeretné jobban megérteni a C++ nyelvet a Standard Template Library segítségével? Nyomd meg a könyveket itt.
Olvassa el a következőt
- Programozás
- Programozás
- Objektumorientált programozás
Fahad a MakeUseOf írója, jelenleg számítástechnika szakon tanul. Lelkes technológiai íróként gondoskodik arról, hogy naprakész legyen a legújabb technológiával. Különösen a futball és a technológia iránt érdeklődik.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!
Kattintson ide az előfizetéshez