Wat is std::array in C++?

Wat Is Std Array In C



C ++ biedt een verscheidenheid aan gegevensstructuren om verzamelingen elementen op te slaan en te manipuleren. Een van die gegevensstructuren is de standaard::array , die werd geïntroduceerd in de C ++ 11-standaardbibliotheek. Via dit artikel leer je over std::array, de syntaxis, een voorbeeld en de voordelen ervan in C++.

Wat is std::array in C++

In C++ is een container die bekend staat als standaard::array wordt gebruikt om een ​​vast aantal items van hetzelfde gegevenstype vast te houden. De standaard::array container biedt een alternatief voor de C-stijl arrays omdat het veiliger, gebruiksvriendelijker en betere prestaties heeft.

De klasse, die een onderdeel is van de standaardbibliotheek van C++, biedt een praktische en effectieve benadering voor het opslaan en openen van elementen met hetzelfde gegevenstype. Omdat de grootte van standaard::array bekend is tijdens het compileren, wordt de runtime-overhead van dynamisch schalen verminderd. De grootte van de array wordt bepaald door de sjabloonparameter en de items van de standaard::array worden bewaard in een aangrenzend geheugen.







Declareer std::array in C++

U kunt declareren standaard::array leuk vinden:



soa :: reeks < int , 4 > arr ;

De bovenstaande syntaxis declareert een array met de naam arr met een vaste grootte van 4 elementen, waarbij elk element van het type int.



Voorbeeld van std::array

Voorbeeld 1: Het volgende is een eenvoudig voorbeeld om a te initialiseren standaard::array in C++:





#include

#include

int voornaamst ( ) {

soa :: reeks < int , 4 > arr = { 4 , 6 , 2 , 1 } ;

voor ( int i = 0 ; i < arr. maat ( ) ; i ++ ) {

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

}

soa :: cout << soa :: eindel ;

opbrengst 0 ;

}

Uitgang



Voorbeeld 2: Je kan ook gebruiken standaard::array om toegang te krijgen tot de elementen in een array. De code wordt hieronder gegeven:

#include

#include

int voornaamst ( ) {

soa :: reeks < int , 3 > arr = { 1 , 2 , 3 } ;

soa :: cout << 'Het eerste element is' << arr [ 0 ] << soa :: eindel ;

soa :: cout << 'Het tweede element is' << arr. bij ( 1 ) << soa :: eindel ;

soa :: cout << 'Het derde element is' << arr. rug ( ) << soa :: eindel ;

opbrengst 0 ;

}

Uitgang

Voorbeeld 3: Het volgende voorbeeld toont het afdrukken van een element uit een array op een specifieke positie met behulp van standaard::array in C++.

#include

#include

int voornaamst ( )

{

soa :: reeks < int , 4 > arr = { 4 , 6 , 2 , 1 } ;

soa :: cout << arr [ 3 ] << soa :: eindel ;

opbrengst 0 ;

}

Uitgang

Voordelen van std::array in C++

In tegenstelling tot traditionele arrays in C++, standaard::array biedt een scala aan functies.

1: Intuïtieve syntaxis

standaard::array heeft een meer intuïtieve syntaxis voor initialisatie en kan worden geïnitialiseerd met behulp van een initialisatielijst. Dit biedt een meer beknopte en leesbare manier om de array te initialiseren.

2: doorgegeven als argumenten

standaard::array kunnen als argumenten aan functies worden doorgegeven, en het is ook mogelijk om ze vanuit functies te retourneren.

3: Geheugenbeheer

Een van de belangrijkste voordelen van het gebruik standaard::array is dat het eenvoudig en efficiënt geheugenbeheer biedt. Dit betekent dat er geen handmatige geheugentoewijzing of deallocatie nodig is.

4: Automatische gebonden controle

Het feit dat standaard::array biedt geautomatiseerde grenscontrole over C-stijl arrays is een van de belangrijkste voordelen. Dit betekent dat als het programma toegang probeert te krijgen tot een element buiten het gedefinieerde bereik van de array, de compiler een fout zal produceren. Bufferoverflows, segmentatiefouten en geheugenlekken zijn slechts enkele van de veelvoorkomende programmeerproblemen die u kunt vermijden door middel van gebonden controle.

5: Biedt handige functies

standaard::array biedt verschillende handige functies, zoals iterators, size(), front(), back(), fill() en at(), wat nog een voordeel is. Deze functies maken het gemakkelijker om de array-elementen te manipuleren zonder de noodzaak van complexe en foutgevoelige code. Iterators maken het bijvoorbeeld eenvoudig om tussen de elementen van de array te navigeren, en met de methode fill() kunt u een enkele waarde opgeven voor de volledige elementenset van de array.

Conclusie

In C++ is de standaard::array class biedt een praktische manier om met arrays van vaste grootte te werken, samen met enkele handige functies en de voordelen van type- en bereikveiligheid. Voor initialisatie en grenscontrole biedt het een duidelijkere, meer begrijpelijke syntaxis, wat kan helpen om veel typische programmeerfouten te voorkomen. Voor de meeste situaties waarin arrays met een vaste grootte moeten worden gebruikt, wordt het gebruik van std::array geadviseerd, omdat het een meer up-to-date en veilige methode biedt om ze te manipuleren.