Kaj je std::array v C++
V C++ je vsebnik, znan kot std::matrika se uporablja za shranjevanje fiksnega števila istih elementov podatkovnega tipa. The std::matrika kontejner ponuja alternativo nizom v slogu C, saj je varnejši, lažji za uporabo in ima boljšo zmogljivost.
Razred, ki je sestavni del standardne knjižnice C++, ponuja praktičen in učinkovit pristop za shranjevanje in dostop do elementov z istim tipom podatkov. Ker je velikost std::matrika znano v času prevajanja, se zmanjšajo stroški izvajalnega časa dinamičnega skaliranja. Velikost matrike je nastavljena s parametrom predloge, elementi pa std::matrika se hranijo v neprekinjenem pomnilniku.
Deklarirajte std::array v C++
Lahko izjavite std::matrika kot:
std :: niz < int , 4 > prir ;
Zgornja sintaksa deklarira matriko z imenom prir s fiksno velikostjo 4 elementov, kjer je vsak element tipa int.
Primer std::array
Primer 1: Sledi preprost primer začetnice a std::matrika v C++:
#include
#include
int glavni ( ) {
std :: niz < int , 4 > prir = { 4 , 6 , 2 , 1 } ;
za ( int jaz = 0 ; jaz < prir. velikost ( ) ; jaz ++ ) {
std :: cout << prir [ jaz ] << ' ' ;
}
std :: cout << std :: konec ;
vrnitev 0 ;
}
Izhod
Primer 2: Uporabite lahko tudi std::matrika za dostop do elementov v matriki. Koda je navedena spodaj:
#include#include
int glavni ( ) {
std :: niz < int , 3 > prir = { 1 , 2 , 3 } ;
std :: cout << 'Prvi element je' << prir [ 0 ] << std :: konec ;
std :: cout << 'Drugi element je' << prir. pri ( 1 ) << std :: konec ;
std :: cout << 'Tretji element je' << prir. nazaj ( ) << std :: konec ;
vrnitev 0 ;
}
Izhod
Primer 3: Naslednji primer prikazuje tiskanje elementa iz matrike na določenem mestu z uporabo std::matrika v C++.
#include#include
int glavni ( )
{
std :: niz < int , 4 > prir = { 4 , 6 , 2 , 1 } ;
std :: cout << prir [ 3 ] << std :: konec ;
vrnitev 0 ;
}
Izhod
Prednosti std::array v C++
Za razliko od tradicionalnih nizov v C++, std::matrika ponuja vrsto funkcij.
1: Intuitivna sintaksa
std::matrika ima bolj intuitivno sintakso za inicializacijo in ga je mogoče inicializirati s seznamom inicializatorjev. To zagotavlja bolj jedrnat in berljiv način inicializacije matrike.
2: Sprejeto kot argumenti
std::matrika se lahko posredujejo kot argumenti funkcijam, prav tako jih je mogoče vrniti iz funkcij.
3: Upravljanje pomnilnika
Ena od ključnih prednosti uporabe std::matrika je, da omogoča preprosto in učinkovito upravljanje pomnilnika. To pomeni, da ni potrebe po ročnem dodeljevanju ali sprostitvi pomnilnika.
4: Samodejno preverjanje vezave
Dejstvo, da je std::matrika ponuja samodejno preverjanje meja nad nizi v slogu C, kar je ena njegovih ključnih prednosti. To pomeni, da če program poskuša dostopati do elementa zunaj definiranega obsega matrike, bo prevajalnik povzročil napako. Prelivanje medpomnilnika, napake pri segmentaciji in uhajanje pomnilnika je le nekaj pogostih programskih težav, ki se jim lahko izognete s preverjanjem vezave.
5: Zagotavlja uporabne funkcije
std::matrika ponuja več priročnih funkcij, kot so iteratorji, size(), front(), back(), fill() in at(), kar je še ena prednost. Te funkcije olajšajo manipulacijo elementov polja brez potrebe po zapleteni kodi, ki je nagnjena k napakam. Iteratorji, na primer, olajšajo krmarjenje med elementi matrike, metoda fill() pa vam omogoča, da zagotovite eno samo vrednost celotnemu naboru elementov matrike.
Zaključek
V C++ je std::matrika ponuja praktičen način za delo z nizi fiksne velikosti, skupaj z nekaterimi uporabnimi funkcijami in prednostmi varnosti tipa in obsega. Za inicializacijo in preverjanje meja zagotavlja jasnejšo in bolj razumljivo sintakso, s katero se lahko izognete številnim tipičnim napakam pri programiranju. Za večino situacij, ko je treba uporabiti polja s fiksno velikostjo, je priporočljiva uporaba std::array, saj zagotavlja bolj posodobljen in varen način za njihovo upravljanje.