Š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.