Što je std::array u C++?

Sto Je Std Array U C



C++ pruža niz struktura podataka za pohranu i manipuliranje zbirkama elemenata. Jedna takva struktura podataka je std::niz , koji je predstavljen u standardnoj biblioteci C++11. Kroz ovaj članak naučit ćete o std::array, njegovoj sintaksi, primjeru i njegovim prednostima u C++.

Što je std::array u C++

U C++-u, spremnik poznat kao std::niz koristi se za držanje fiksnog broja istih stavki tipa podataka. The std::niz kontejner pruža alternativu nizovima u stilu C jer je sigurniji, lakši za korištenje i ima bolje performanse.

Klasa, koja je komponenta standardne biblioteke jezika C++, nudi praktičan i učinkovit pristup pohrani i pristupu elementima s istim tipom podataka. Zbog veličine std::niz je poznat u vrijeme kompajliranja, vrijeme izvođenja dinamičkog skaliranja je smanjeno. Veličina niza je postavljena parametrom predloška, ​​a stavke std::niz čuvaju se u neprekidnoj memoriji.







Deklarirajte std::array u C++

Možete izjaviti std::niz Kao:



std :: niz < int , 4 > arr ;

Gornja sintaksa deklarira niz pod nazivom arr s fiksnom veličinom od 4 elementa, gdje je svaki element tipa int.



Primjer std::array

Primjer 1: Slijedi jednostavan primjer inicijala a std::niz u C++:





#include

#include

int glavni ( ) {

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

za ( int ja = 0 ; ja < arr. veličina ( ) ; ja ++ ) {

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

}

std :: cout << std :: endl ;

povratak 0 ;

}

Izlaz



Primjer 2: Također možete koristiti std::niz za pristup elementima u nizu. Kod je naveden u nastavku:

#include

#include

int glavni ( ) {

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

std :: cout << 'Prvi element je' << arr [ 0 ] << std :: endl ;

std :: cout << 'Drugi element je' << arr. na ( 1 ) << std :: endl ;

std :: cout << 'Treći element je' << arr. leđa ( ) << std :: endl ;

povratak 0 ;

}

Izlaz

Primjer 3: Sljedeći primjer prikazuje ispis elementa iz niza na određenoj poziciji pomoću std::niz u C++.

#include

#include

int glavni ( )

{

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

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

povratak 0 ;

}

Izlaz

Prednosti std::array u C++

Za razliku od tradicionalnih nizova u C++, std::niz nudi niz značajki.

1: Intuitivna sintaksa

std::niz ima intuitivniju sintaksu za inicijalizaciju i može se inicijalizirati pomoću popisa inicijalizatora. Ovo pruža sažetiji i čitljiviji način inicijalizacije niza.

2: Prihvaćeno kao argumenti

std::niz mogu se proslijediti kao argumenti funkcijama, a moguće ih je i vratiti iz funkcija.

3: Upravljanje memorijom

Jedna od ključnih prednosti korištenja std::niz je da omogućuje jednostavno i učinkovito upravljanje memorijom. To znači da nema potrebe za ručnom dodjelom ili oslobađanjem memorije.

4: Automatska provjera veza

Činjenica da se std::niz nudi automatiziranu provjeru granica nad nizovima u stilu C jedna je od njegovih ključnih prednosti. To znači da ako program pokuša pristupiti elementu izvan definiranog raspona niza, kompajler će proizvesti pogrešku. Prelijevanje međuspremnika, pogreške u segmentaciji i curenje memorije samo su neki od čestih programskih problema koje vam vezana provjera može pomoći da izbjegnete.

5: Pruža korisne funkcije

std::niz nudi nekoliko praktičnih funkcija, kao što su iteratori, size(), front(), back(), fill() i at(), što je još jedna prednost. Ove funkcije olakšavaju rukovanje elementima niza bez potrebe za složenim kodom koji je sklon pogreškama. Iteratori, na primjer, olakšavaju navigaciju među elementima niza, a metoda fill() omogućuje vam davanje jedne vrijednosti cijelom skupu elemenata niza.

Zaključak

U C++, std::niz klasa nudi praktičan način rada s nizovima fiksne veličine, zajedno s nekim korisnim funkcijama i prednostima sigurnosti tipa i raspona. Za inicijalizaciju i provjeru granica, pruža jasniju, razumljiviju sintaksu, koja može pomoći u izbjegavanju mnogih tipičnih pogrešaka u programiranju. Za većinu situacija kada se moraju koristiti nizovi fiksne veličine, savjetuje se korištenje std::array budući da pruža ažurniju i sigurniju metodu manipuliranja njima.