Què és std::array en C++?

Que Es Std Array En C



C++ proporciona una varietat d'estructures de dades per emmagatzemar i manipular col·leccions d'elements. Una d'aquestes estructures de dades és la std::array , que es va introduir a la biblioteca estàndard C++11. A través d'aquest article, aprendràs sobre std::array, la seva sintaxi, un exemple i els seus avantatges en C++.

Què és std::array en C++

En C++, un contenidor conegut com std::array s'utilitza per contenir un nombre fix d'elements del mateix tipus de dades. El std::array El contenidor ofereix una alternativa a les matrius d'estil C, ja que és més segur, més fàcil d'utilitzar i té un millor rendiment.

La classe, que és un component de la biblioteca estàndard de C++, ofereix un enfocament pràctic i eficaç per emmagatzemar i accedir a elements amb el mateix tipus de dades. Perquè la mida de std::array es coneix en temps de compilació, la sobrecàrrega del temps d'execució de l'escala dinàmica es redueix. La mida de la matriu la defineix el paràmetre de plantilla i els elements de la std::array es guarden a la memòria contigua.







Declarar std::array en C++

Pots declarar std::array M'agrada:



std :: matriu < int , 4 > arr ;

La sintaxi anterior declara una matriu anomenada arr amb una mida fixa de 4 elements, on cada element és de tipus int.



Exemple de std::array

Exemple 1: El següent és un exemple senzill de la inicial a std::array en C++:





#inclou

#inclou

int principal ( ) {

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

per ( int i = 0 ; i < arr. mida ( ) ; i ++ ) {

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

}

std :: cout << std :: endl ;

tornar 0 ;

}

Sortida



Exemple 2: També pots utilitzar std::array per accedir als elements d'una matriu. El codi es mostra a continuació:

#inclou

#inclou

int principal ( ) {

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

std :: cout << 'El primer element és' << arr [ 0 ] << std :: endl ;

std :: cout << 'El segon element és' << arr. a les ( 1 ) << std :: endl ;

std :: cout << 'El tercer element és' << arr. esquena ( ) << std :: endl ;

tornar 0 ;

}

Sortida

Exemple 3: L'exemple següent mostra la impressió d'un element des d'una matriu en una posició específica utilitzant std::array en C++.

#inclou

#inclou

int principal ( )

{

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

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

tornar 0 ;

}

Sortida

Avantatges de std::array en C++

A diferència de les matrius tradicionals en C++, std::array ofereix un ventall de funcions.

1: Sintaxi intuïtiva

std::array té una sintaxi més intuïtiva per a la inicialització i es pot inicialitzar mitjançant una llista d'inicialitzadors. Això proporciona una manera més concisa i llegible d'inicialitzar la matriu.

2: Aprovat com a arguments

std::array es poden passar com a arguments a les funcions, i també és possible tornar-los des de les funcions.

3: Gestió de la memòria

Un dels avantatges clau de l'ús std::array és que proporciona una gestió de memòria fàcil i eficient. Això vol dir que no hi ha necessitat d'assignació o desassignació manual de memòria.

4: Comprovació automàtica d'enllaços

El fet que std::array ofereix una comprovació automatitzada de límits sobre matrius d'estil C és un dels seus avantatges clau. Això vol dir que si el programa intenta accedir a un element fora de l'interval definit de la matriu, el compilador produirà un error. Els desbordaments de memòria intermèdia, els errors de segmentació i les fuites de memòria són només alguns dels problemes freqüents de programació que la comprovació limitada us pot ajudar a evitar.

5: Proporciona funcions útils

std::array ofereix diverses funcions útils, com ara iteradors, size(), front(), back(), fill() i at(), que és un altre avantatge. Aquestes funcions faciliten la manipulació dels elements de la matriu sense necessitat de codi complex i propens a errors. Els iteradors, per exemple, faciliten la navegació entre els elements de la matriu, i el mètode fill() us permet proporcionar un valor únic a tot el conjunt d'elements de la matriu.

Conclusió

En C++, el std::array Class ofereix una manera pràctica de treballar amb matrius de mida fixa, juntament amb algunes funcions útils i els avantatges de la seguretat de tipus i rang. Per a la inicialització i la comprovació de límits, proporciona una sintaxi més clara i comprensible, que pot ajudar a evitar molts errors de programació típics. Per a la majoria de situacions en què s'han d'utilitzar matrius de mida fixa, es recomana l'ús de std::array, ja que proporciona un mètode més actual i segur per manipular-los.