Ce este std::array în C++?

Ce Este Std Array In C



C++ oferă o varietate de structuri de date pentru stocarea și manipularea colecțiilor de elemente. O astfel de structură de date este std::array , care a fost introdus în biblioteca standard C++11. Prin acest articol, veți afla despre std::array, sintaxa sa, un exemplu și avantajele sale în C++.

Ce este std::array în C++

În C++, un container cunoscut sub numele std::array este folosit pentru a deține un număr fix de articole de același tip de date. The std::array containerul oferă o alternativă la matricele în stil C, deoarece este mai sigur, mai ușor de utilizat și are performanțe mai bune.

Clasa, care este o componentă a bibliotecii standard C++, oferă o abordare practică și eficientă pentru stocarea și accesarea elementelor cu același tip de date. Deoarece dimensiunea de std::array este cunoscut la momentul compilării, supraîncărcarea de rulare a scalarii dinamice este redusă. Mărimea matricei este setată de parametrul șablon și elementele din std::array sunt păstrate în memoria contiguă.







Declarați std::array în C++

Poti declara std::array ca:



std :: matrice < int , 4 > arr ;

Sintaxa de mai sus declară o matrice numită arr cu o dimensiune fixă ​​de 4 elemente, unde fiecare element este de tip int.



Exemplu de std::array

Exemplul 1: Următorul este un exemplu simplu pentru parafa a std::array în C++:





#include

#include

int principal ( ) {

std :: matrice < int , 4 > arr = { 4 , 6 , 2 , 1 } ;

pentru ( int i = 0 ; i < arr. mărimea ( ) ; i ++ ) {

std :: cout << arr [ i ] << ' ' ;

}

std :: cout << std :: endl ;

întoarcere 0 ;

}

Ieșire



Exemplul 2: De asemenea, puteți utiliza std::array pentru a accesa elementele dintr-o matrice. Codul este dat mai jos:

#include

#include

int principal ( ) {

std :: matrice < int , 3 > arr = { 1 , 2 , 3 } ;

std :: cout << 'Primul element este' << arr [ 0 ] << std :: endl ;

std :: cout << 'Al doilea element este' << arr. la ( 1 ) << std :: endl ;

std :: cout << 'Al treilea element este' << arr. înapoi ( ) << std :: endl ;

întoarcere 0 ;

}

Ieșire

Exemplul 3: Următorul exemplu arată tipărirea unui element dintr-o matrice într-o anumită poziție folosind std::array în C++.

#include

#include

int principal ( )

{

std :: matrice < int , 4 > arr = { 4 , 6 , 2 , 1 } ;

std :: cout << arr [ 3 ] << std :: endl ;

întoarcere 0 ;

}

Ieșire

Avantajele std::array în C++

Spre deosebire de matricele tradiționale din C++, std::array oferă o gamă largă de caracteristici.

1: Sintaxă intuitivă

std::array are o sintaxă mai intuitivă pentru inițializare și poate fi inițializată folosind o listă de inițializare. Aceasta oferă o modalitate mai concisă și mai lizibilă de inițializare a matricei.

2: Trecut drept argumente

std::array pot fi transmise ca argumente la funcții și este posibil să le returnați și din funcții.

3: Managementul memoriei

Unul dintre avantajele cheie ale utilizării std::array este că oferă o gestionare ușoară și eficientă a memoriei. Aceasta înseamnă că nu este nevoie de alocarea sau dezalocarea manuală a memoriei.

4: Verificare automată legată

Faptul că std::array oferă verificarea automată a limitelor peste matrice în stil C este unul dintre avantajele sale cheie. Aceasta înseamnă că dacă programul încearcă să acceseze un element în afara intervalului definit al matricei, compilatorul va produce o eroare. Depășirile de buffer, defecțiunile de segmentare și scurgerile de memorie sunt doar câteva dintre problemele frecvente de programare pe care verificarea legată vă poate ajuta să le evitați.

5: Oferă funcții utile

std::array oferă mai multe funcții utile, cum ar fi iteratoare, size(), front(), back(), fill() și at(), care este un alt avantaj. Aceste funcții facilitează manipularea elementelor matricei fără a fi nevoie de cod complex și predispus la erori. Iteratoarele, de exemplu, simplifică navigarea printre elementele matricei, iar metoda fill() vă permite să furnizați o singură valoare întregului set de elemente ale matricei.

Concluzie

În C++, std::array clasa oferă un mod practic de a lucra cu matrice de dimensiuni fixe, împreună cu câteva funcții utile și avantajele siguranței tipului și a gamei. Pentru inițializare și verificarea limitelor, oferă o sintaxă mai clară și mai ușor de înțeles, care poate ajuta la evitarea multor greșeli tipice de programare. Pentru majoritatea situațiilor în care trebuie utilizate matrice de dimensiuni fixe, se recomandă utilizarea std::array, deoarece oferă o metodă mai actualizată și mai sigură de manipulare a acestora.