Vad är std::array i C++?

Vad Ar Std Array I C



C++ tillhandahåller en mängd olika datastrukturer för att lagra och manipulera samlingar av element. En sådan datastruktur är std::array , som introducerades i standardbiblioteket C++11. Genom den här artikeln kommer du att lära dig om std::array, dess syntax, ett exempel och dess fördelar i C++.

Vad är std::array i C++

I C++, en behållare känd som std::array används för att hålla ett fast antal av samma datatypobjekt. De std::array behållare ger ett alternativ till C-stil arrays eftersom det är säkrare, lättare att använda och har bättre prestanda.

Klassen, som är en komponent i C++s standardbibliotek, erbjuder ett praktiskt och effektivt tillvägagångssätt för att lagra och komma åt element med samma datatyp. Eftersom storleken på std::array är känd vid kompilering, reduceras körtidsoverheaden för dynamisk skalning. Storleken på arrayen ställs in av mallparametern och objekten i std::array förvaras i ett sammanhängande minne.







Deklarera std::array i C++

Du kan deklarera std::array tycka om:



std :: array < int , 4 > arr ;

Ovanstående syntax deklarerar en array som heter arr med en fast storlek på 4 element, där varje element är av typ int.



Exempel på std::array

Exempel 1: Följande är ett enkelt exempel för att inleda a std::array i C++:





#inkludera

#include

int huvud ( ) {

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

för ( int i = 0 ; i < arr. storlek ( ) ; i ++ ) {

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

}

std :: cout << std :: endl ;

lämna tillbaka 0 ;

}

Produktion



Exempel 2: Du kan också använda std::array för att komma åt elementen i en array. Koden ges nedan:

#inkludera

#include

int huvud ( ) {

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

std :: cout << 'Det första elementet är' << arr [ 0 ] << std :: endl ;

std :: cout << 'Det andra elementet är' << arr. ( 1 ) << std :: endl ;

std :: cout << 'Det tredje elementet är' << arr. tillbaka ( ) << std :: endl ;

lämna tillbaka 0 ;

}

Produktion

Exempel 3: Följande exempel visar utskrift av ett element från en array på en specifik position med hjälp av std::array i C++.

#include

#inkludera

int huvud ( )

{

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

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

lämna tillbaka 0 ;

}

Produktion

Fördelar med std::array i C++

Till skillnad från traditionella arrayer i C++, std::array erbjuder en rad funktioner.

1: Intuitiv syntax

std::array har en mer intuitiv syntax för initiering och kan initieras med hjälp av en initieringslista. Detta ger ett mer kortfattat och läsbart sätt att initiera arrayen.

2: Godkänd som argument

std::array kan skickas som argument till funktioner, och det är möjligt att returnera dem från funktioner också.

3: Minneshantering

En av de viktigaste fördelarna med att använda std::array är att det ger enkel och effektiv minneshantering. Detta innebär att det inte finns något behov av manuell minnesallokering eller avallokering.

4: Automatisk gränskontroll

Faktumet att std::array erbjuder automatiserad gränskontroll över C-format arrayer är en av dess viktigaste fördelar. Detta innebär att om programmet försöker komma åt ett element utanför arrayens definierade intervall, kommer kompilatorn att producera ett fel. Buffertspill, segmenteringsfel och minnesläckor är bara några av de vanliga programmeringsproblemen som bunden kontroll kan hjälpa dig att undvika.

5: Ger användbara funktioner

std::array erbjuder flera praktiska funktioner, såsom iteratorer, size(), front(), back(), fill() och at(), vilket är en annan fördel. Dessa funktioner gör det enklare att manipulera arrayelementen utan behov av komplex och felbenägen kod. Iteratorer, till exempel, gör det enkelt att navigera bland arrayens element, och metoden fill() låter dig tillhandahålla ett enda värde till arrayens hela elementuppsättning.

Slutsats

I C++ är std::array class erbjuder ett praktiskt sätt att arbeta med arrayer av fast storlek, tillsammans med några användbara funktioner och fördelarna med typ- och räckviddssäkerhet. För initiering och kontroll av gränser ger den en tydligare, mer förståelig syntax, som kan hjälpa till att undvika många typiska programmeringsmisstag. För de flesta situationer när arrayer med fast storlek måste användas, rekommenderas användning av std::array eftersom det ger en mer uppdaterad och säker metod för att manipulera dem.