Hva er stdarray i C++?

Hva er stdarray i C++?
C ++ gir en rekke datastrukturer for å lagre og manipulere samlinger av elementer. En slik datastruktur er STD :: Array, som ble introdusert i C ++ 11 -standardbiblioteket. Gjennom denne artikkelen vil du lære om STD :: Array, syntaks, et eksempel og fordelene i C++.

Hva er std :: array i c++

I C ++, en beholder kjent som STD :: Array er ansatt for å holde et fast antall av de samme datatypelementene. De STD :: Array Container gir et alternativ til C-stil-matriser, da det er tryggere, enklere å bruke og har bedre ytelse.

Klassen, som er en komponent i C ++ 's standardbibliotek, tilbyr en praktisk og effektiv tilnærming til lagrings- og tilgangselementer med samme datatype. Fordi størrelsen på STD :: Array er kjent på kompileringstid. Størrelsen på matrisen er satt av malparameteren, og elementene til STD :: Array holdes i sammenhengende minne.

Erklære std :: array i c++

Du kan erklære STD :: Array som:

STD :: Array arr;

Ovennevnte syntaks erklærer en matrise som er navngitt arr med en fast størrelse på 4 elementer, der hvert element er av type int.

Eksempel på STD :: Array

Eksempel 1: Følgende er et enkelt eksempel for å initialere a STD :: Array I C ++:

#inkludere
#inkludere
int main ()
STD :: Array arr = 4,6,2,1;
for (int i = 0; i < arr.size(); i++)
std :: cout << arr[i] << " ";

std :: cout << std::endl;
retur 0;

Produksjon

Eksempel 2: Du kan også bruke STD :: Array For å få tilgang til elementene i en matrise. Koden er gitt nedenfor:

#inkludere
#inkludere
int main ()
STD :: Array arr = 1, 2, 3;
std :: cout << "The first element is " << arr[0] << std::endl;
std :: cout << "The second element is " << arr.at(1) << std::endl;
std :: cout << "The third element is " << arr.back() << std::endl;
retur 0;

Produksjon

Eksempel 3: Følgende eksempel viser å skrive ut et element fra en matrise til en spesifikk stilling ved bruk av STD :: Array i c++.

#inkludere
#inkludere
int main ()

STD :: Array arr = 4, 6, 2, 1;
std :: cout << arr[3] << std::endl;
retur 0;

Produksjon

Fordeler med std :: matrise i C++

I motsetning til tradisjonelle matriser i C++, STD :: Array tilbyr en rekke funksjoner.

1: Intuitiv syntaks

STD :: Array har en mer intuitiv syntaks for initialisering og kan initialiseres ved hjelp av en initializer -liste. Dette gir en mer kortfattet og lesbar måte å initialisere matrisen.

2: Bestått som argumenter

STD :: Array kan sendes som argumenter til funksjoner, og det er mulig å returnere dem fra funksjoner også.

3: Memory Management

En av de viktigste fordelene ved å bruke STD :: Array er at det gir enkel og effektiv minnestyring. Dette betyr at det ikke er behov for manuell minnetildeling eller forhandling.

4: Automatisk bundet sjekking

Det faktum at STD :: Array Tilbyr automatiserte grenser som sjekker over C-stil-matriser er en av de viktigste fordelene. Dette betyr at hvis programmet prøver å få tilgang til et element utenfor Array's definerte rekkevidde, vil kompilatoren gi en feil. Bufferoverløp, segmenteringsfeil og minnelekkasjer er bare noen få av de hyppige programmeringsproblemene som bundet sjekking kan hjelpe deg med å unngå.

5: Gir nyttige funksjoner

STD :: Array tilbyr flere nyttige funksjoner, for eksempel iteratorer, størrelse (), front (), back (), fill () og at (), noe som er en annen fordel. Disse funksjonene gjør det lettere å manipulere matriseelementene uten behov for komplekse og feilutsatte kode. Iteratorer, for eksempel, gjør det enkelt å navigere blant matrisernes elementer, og Fill () -metoden lar deg gi en enkelt verdi til matrisens hele elementsett.

Konklusjon

I C ++, STD :: Array Klassen tilbyr en praktisk måte å jobbe med matriser med fast størrelse, sammen med noen nyttige funksjoner og fordelene med type og rekkevidde sikkerhet. For initialisering og grensekontroll gir den en tydeligere, mer forståelig syntaks, som kan bidra til å unngå mange typiske programmeringsfeil. For de fleste situasjoner når faste størrelser må brukes, anbefales bruk av STD :: Array siden det gir en mer oppdatert og sikker metode for å manipulere dem.