C++ vektoriai yra STL (standartinės šablonų bibliotekos) dalis. STL yra viena iš daugelio C++ skirtų bibliotekų, kurios padidina programų efektyvumą, lankstumą ir našumą. Vektoriai yra labai naudingi ir gyvybiškai svarbi koncepcija visiems, norintiems įgyti C++ įgūdžių.

C++ vektoriai iš esmės yra konteineriai, kuriuos galite naudoti duomenims saugoti. Jų dėka darbas su masyvais yra švarus ir greitas, todėl žinoti, kaip naudoti C++ vektorius, yra vertingas įgūdis, jei norite sukurti C++ programą. Skaitykite toliau, nes aptarsime viską, ką reikia žinoti apie C++ vektorius.

Kas yra C++ vektoriai?

C++ vektoriai yra sekos talpyklos, kurios yra esminis standartinės šablonų bibliotekos komponentas. Vektoriai vaizduoja masyvus, kurie, jei reikia, gali dinamiškai keisti dydį vykdymo metu.

Skirtingai nuo tradicinių masyvų, jums nereikia aiškiai valdyti vektoriaus atminties paskirstymo. Vektoriaus konteineris automatiškai valdo savo atmintį. Galite galvoti apie C++ vektorius kaip apie dinaminį masyvą, kuris prideda arba pašalina elementą prisitaiko prie savęs.

instagram viewer

Be to, vektorius išdėsto savo elementus gretimais. Tai reiškia, kad galite lengvai juos pasiekti naudodami rodykles arba iteratorius.

Kaip veikia std:: vektorius

Dabar, kai žinote, kas yra C++ vektoriai, prieš pradėdami juos naudoti savo kode turite suprasti, kaip jie veikia.

Susijęs: Ar C++ vis dar aktualus 2021 m.?

Kai naudojate C++ vektorių, jis įterps naujus elementus diferencinio laiko pabaigoje. Taip yra todėl, kad kai kuriais atvejais vektorius turės išsiplėsti, kad tilptų naujas elementas. Panašiai, jei ištrauktumėte paskutinį vektoriaus elementą, prireiktų pastovaus laiko, kai vektoriui nereikia koreguoti savo ilgio (dydžio).

Norėdami efektyviai naudoti vektorius, naudojame iteratorius ir integruotas funkcijas. Iteratoriai yra rodyklės, naudojamos kartu su C++ vektoriais. Jie supaprastina vektoriaus konteinerį. Yra daug skirtingų vektorinių funkcijų, o kai kurias iš jų apžvelgsime kitame skyriuje.

C++ vektorinės funkcijos

Pažvelkime į kai kurias iteratoriaus ir STL konteinerio funkcijas, kurios dažniausiai naudojamos su C++ vektoriais:

  1. pradėti () grąžina iteratoriaus žymeklį, nukreipiantį į pirmąjį vektoriaus elementą.
  2. galas() grąžina iteratoriaus žymeklį į vektoriaus konteinerio galinę padėtį.
  3. rbegin () yra tarsi pradėti (), bet tai suteikia jums atvirkštinį iteratorių, nukreipiantį į paskutinį vektoriaus elementą.
  4. dydis () grąžina elementų, saugomų vektoriuje, skaičių.
  5. maksimalus_dydis() grąžina didžiausią elementų talpą, kurią gali talpinti vektorių talpykla.
  6. pakeisti dydį (x) pakeis vektoriaus konteinerio dydį, kad jame tilptų x elementai.
  7. tuščia() grąžina true, jei vektoriaus konteineryje nėra elementų.
  8. pastumti atgal() pabaigoje į vektorių įterpia naują elementą.
  9. pop_back() ištraukia elementą iš vektoriaus talpyklos galo.
  10. Įdėti() leidžia pridėti elementą prie vektoriaus nurodytoje vietoje.

C++ vektorinis pavyzdys

Naudojant vektorius C++ programoje, kodavimas su masyvais tampa lankstus ir greitas. Pažvelkime į keletą pavyzdinių kodų, kuriuose naudojami C++ vektoriai.

#įtraukti
#įtraukti
naudojant vardų erdvę std;
negalioja pagrindinis ()
{
vektorius arr;
// push_back, kad pridėtumėte elementus į mūsų sudėtinio rodinio pabaigą
arr.push_back (10);
arr.push_back (5);
arr.push_back (20);
// vektoriuje dabar yra [10,5,20]
// naudokite start() iteratorių, norėdami pereiti konteinerį iki end() rodyklės
cout << "begin() and end() iteratoriai: ";
for (automatinis j = arr.begin(); j != arr.end(); j++)
{
cout << *j << ' ';
}
// Numatoma produkcija: 10 5 20
// rbegin() ir rend() naudojami vektoriaus konteineriui apsukti
cout << "rbegin() ir rend() iteratoriai: ";
for (auto j = arr.rbegin(); j != arr.rend(); j++)
{
cout << *j << ' ';
}
// Numatoma produkcija: 20 5 10
cout << "Masyvo dydis yra: " << arr.size() << endl;
// Numatyta išvestis: masyvo dydis yra: 3
// Pakeiskite masyvo dydį, kad būtų tik 2 elementai
arr.resize (2);
cout << "Masyvo dydis yra: " << arr.size() << endl;
// Numatyta išvestis: masyvo dydis yra: 2
cout << "MaxSize(): " << arr.max_size() << endl;
cout << "Vektorius tuščias? " << arr.empty() << endl;
// pop_back paskutinis elementas
arr.pop_back();
// įterpti 5 masyvo pradžioje
arr.insert (arr.begin(), 5);
}

Susijęs: Kaip išmokti programuoti C++

Vektorių naudojimas C++

C++ vektoriai yra lankstūs ir galingi, todėl jie yra esminė kiekvieno C++ kūrėjo savybė. STL yra reikšminga C++ biblioteka, o detalus jos tyrinėjimas gali padėti sukurti geresnes programas.

Standartinės C++ šablonų bibliotekos vadovas pradedantiesiems

Norite geriau suprasti C++ naudodami standartinę šablonų biblioteką? Spausk knygas čia.

Skaitykite toliau

DalintisTviteryjeEl. paštas
Susijusios temos
  • Programavimas
  • Programavimas
  • Objektinis programavimas
Apie autorių
M. Fahadas Khawaja (Paskelbta 76 straipsniai)

Fahadas yra MakeUseOf rašytojas ir šiuo metu studijuoja kompiuterių mokslą. Būdamas aistringas technologijų rašytojas, jis rūpinasi, kad gautų naujausias technologijas. Jis ypač domisi futbolu ir technologijomis.

Daugiau iš M. Fahadas Khawaja

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia