Kurzusok
/
C++
C++
/
Tanterv
/
Tömbök és vektorok
Tö

Tömbök és vektorok ebben a kurzusban: C++

3 feladat

A(z) Tömbök és vektorok fogalomról

Tömbök és vektorok

A C++ többféle konténert kínál, amelyekkel ugyanolyan típusú elemeket tárolhatsz rendezett sorrendben. A fix méretű konténerekhez std::array áll rendelkezésre, a std::vector pedig dinamikus átméretezést kínál.

Létrehozás

Amikor tömböt vagy vektort deklarálsz, meg kell adnod, hogy milyen típusú elemeket fog tárolni a konténer. A tömböknél emellett a méretet is meg kell adni. Az alábbi példák megmutatják, hogyan hozhatod létre a két konténertípust:

#include <array>
#include <string>

// std::array<element_type, size> variable_name {list of elements}
std::array<std::string, 3> indie_rock {"yeah", "yeah", "yeah"};
// indie_rock contains the elements "yeah" three times

A vektorok általában több helyet igényelnek, mert memóriát allokálnak a további növekedéshez. A méretet nem kell megadnod:

#include <vector>

// std::vector<element_type> variable_name {list of elements}
std::vector<int> countdown {3, 2, 1};
// my_vector contains the elements 3, 2 and 1

Megjegyzés: A sablon mint fogalom pontos működését még nem kell ismerned, arról a tantervfában lejjebb külön fogalom szól.

Elemek elérése

A vektorok és a tömbök ugyanazokkal a függvényekkel érik el az elemeiket. A front és a back tagfüggvénnyel kérheted le a konténer első és utolsó elemét. Egy adott elem eléréséhez ott van az at és a [] operátor is.

countdown[0];
// => 3
countdown.at(2);
// => 1
countdown[1] = 4;
// countdown now contains 3, 4 and 1
indie_rock.back() = "yeahs";
// indie_rock is now "yeah", "yeah", "yeahs"

Megjegyzés: Ha a konténer mérettartományán kívüli pozíciót választasz, a [] nem definiált viselkedéshez vezethet. Az at függvény ezzel szemben kivételt dob, ami hosszú távon megkönnyítheti az életedet.

A vektor módosítói

Mivel a vector mérete nem rögzített, adhatsz hozzá és vehetsz el belőle elemeket. Erre a két gyakori függvény az emplace_back és a pop_back.

std::vector<std::string> witches {"Holly", "Alyssa", "Shannen"};
witches.pop_back();
// Shannen is no longer with the witches
witches.emplace_back("Rose");
// Rose has joined the team

Kapacitás

A konténerek ürességét az empty tagfüggvénnyel ellenőrizheted. Ha tudni szeretnéd, hány elem van benne, használd a size függvényt.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg

Tanuld meg a(z) Tömbök és vektorok fogalmat

A gyakorlás zárolva

Oldj fel még 4 feladatot, hogy gyakorolhasd a(z) Tömbök és vektorok fogalmat