C++ vektory jsou součástí STL (Standard Template Library). STL je jednou z mnoha knihoven dostupných pro C++, které zvyšují efektivitu, flexibilitu a výkon aplikací. Vektory jsou velmi užitečné a životně důležité pro každého, kdo se chce naučit ovládat C++.

C++ vektory jsou v podstatě kontejnery, které můžete použít k ukládání dat. Díky nim je práce s poli čistá a rychlá, takže vědět, jak používat vektory C++, je cenná dovednost, pokud hledáte vývoj aplikace C++. Čtěte dále, když diskutujeme o všem, co potřebujete vědět o vektorech C++.

Co jsou C++ vektory?

Vektory C++ jsou sekvenční kontejnery, které jsou základní součástí knihovny standardních šablon. Vektory představují pole, která mohou v případě potřeby dynamicky měnit velikost během běhu.

Na rozdíl od tradičních polí nepotřebujete explicitně spravovat alokaci paměti vektoru. Kontejner vektoru automaticky spravuje jeho paměť. Vektory C++ si můžete představit jako dynamické pole, které se po přidání nebo odebrání prvku samo upraví.

Navíc vektor uspořádá své prvky souvisle. To znamená, že k nim můžete snadno přistupovat pomocí ukazatelů nebo iterátorů.

instagram viewer

Jak std:: vector funguje

Nyní, když jste obeznámeni s tím, co jsou vektory C++, musíte pochopit, jak fungují, než je začnete používat ve svém kódu.

Příbuzný: Je C++ stále relevantní v roce 2021?

Když použijete vektor C++, vloží nové prvky na konec v rozdílovém čase. Je to proto, že v některých případech se bude muset vektor rozšířit, aby se přizpůsobil novému prvku. Podobně, pokud byste extrahovali poslední prvek vektoru, trvalo by to konstantní čas, aby vektor nemusel upravovat svou délku (velikost).

Pro efektivní využití vektorů využíváme iterátory a vestavěné funkce. Iterátory jsou ukazatele používané vedle vektorů C++. Zjednodušují procházení vektorového kontejneru. Existuje mnoho různých vektorových funkcí a na některé z důležitých se podíváme v další části.

C++ vektorové funkce

Podívejme se na některé funkce iterátoru a kontejneru STL, které se běžně používají s vektory C++:

  1. začít() vrací ukazatel iterátoru, který ukazuje na první prvek vektoru.
  2. konec() vrátí ukazatel iterátoru na koncovou pozici vektorového kontejneru.
  3. rbegin() je jako začít(), ale dává vám zpětný iterátor ukazující na poslední prvek ve vektoru.
  4. velikost() vrací počet prvků uložených ve vektoru.
  5. max_size() vrací maximální kapacitu prvků, které může vektorový kontejner pojmout.
  6. změnit velikost (x) změní velikost vektorového kontejneru tak, aby se vešel X elementy.
  7. prázdný() vrátí hodnotu true, pokud vektorový kontejner neobsahuje žádné prvky.
  8. zatlačit zpátky() vloží na konec nový prvek do vektoru.
  9. pop_back() extrahuje prvek z konce vektorového kontejneru.
  10. vložit() umožňuje přidat prvek do vektoru na zadané pozici.

Příklad vektoru C++

Pomocí vektorů v C++ je kódování s poli flexibilní a rychlé. Pojďme se podívat na ukázkový kód, který používá C++ vektory.

#zahrnout
#zahrnout
pomocí jmenného prostoru std;
void main()
{
vektor arr;
// push_back přidá prvky na konec našeho kontejneru
arr.push_back (10);
arr.push_back (5);
arr.push_back (20);
// vector nyní obsahuje [10,5,20]
// použijte iterátor begin() k procházení kontejnerem až k ukazateli end().
cout << "začátek() a konec() iterátory: ";
for (auto j = arr.begin(); j != arr.end(); j++)
{
cout << *j << ' ';
}
// Očekávaný výstup: 10 5 20
// rbegin() a rend() používané k obrácení procházení vektorového kontejneru
cout << " iterátory rbegin() a rend(): ";
for (auto j = arr.rbegin(); j != arr.rend(); j++)
{
cout << *j << ' ';
}
// Očekávaný výstup: 20 5 10
cout << "Velikost pole je: " << arr.size() << endl;
// Očekávaný výstup: Velikost pole je: 3
// Změňte velikost pole tak, aby mělo pouze 2 prvky
arr.resize (2);
cout << "Velikost pole je: " << arr.size() << endl;
// Očekávaný výstup: Velikost pole je: 2
cout << "MaxSize(): " << arr.max_size() << endl;
cout << "Vektor je prázdný? " << arr.empty() << endl;
// pop_back poslední prvek
arr.pop_back();
// vloží 5 na začátek pole
arr.insert (arr.begin(), 5);
}

Příbuzný: Jak se naučit programovat v C++

Použití vektorů v C++

C++ vektory jsou flexibilní a výkonné, a proto jsou nezbytnou funkcí každého vývojáře v C++. STL je významná knihovna C++ a její podrobné prozkoumání vám může pomoci vytvořit lepší aplikace.

Průvodce pro začátečníky ke standardní knihovně šablon v C++

Chcete lépe porozumět C++ pomocí standardní knihovny šablon? Mrkněte na knihy zde.

Přečtěte si další

PodíltweetE-mailem
Související témata
  • Programování
  • Programování
  • Objektově orientované programování
O autorovi
M. Fahad Khawaja (76 zveřejněných článků)

Fahad je spisovatelem v MakeUseOf a v současné době se specializuje na informatiku. Jako zanícený technický spisovatel dbá na to, aby byl neustále informován o nejnovějších technologiích. Zvláště se zajímá o fotbal a technologie.

Více od M. Fahad Khawaja

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Chcete-li se přihlásit k odběru, klikněte sem