Co je std::array v C++?

Co Je Std Array V C



C++ poskytuje různé datové struktury pro ukládání a manipulaci s kolekcemi prvků. Jednou z takových datových struktur je std::pole , který byl představen ve standardní knihovně C++11. Prostřednictvím tohoto článku se dozvíte o std::array, jeho syntaxi, příkladu a jeho výhodách v C++.

Co je std::array v C++

V C++ je kontejner známý jako std::pole se používá k uložení pevného počtu položek stejného typu dat. The std::pole kontejner poskytuje alternativu k polím ve stylu C, protože je bezpečnější, snáze se používá a má lepší výkon.

Třída, která je součástí standardní knihovny C++, nabízí praktický a efektivní přístup k ukládání a přístupu k prvkům se stejným datovým typem. Protože velikost std::pole je známo v době kompilace, režie za běhu dynamického škálování je snížena. Velikost pole je nastavena parametrem šablony a položkami std::pole jsou uchovávány v souvislé paměti.







Deklarujte std::array v C++

Můžete prohlásit std::pole jako:



std :: pole < int , 4 > arr ;

Výše uvedená syntaxe deklaruje pole s názvem arr s pevnou velikostí 4 prvků, kde každý prvek je typu int.



Příklad std::array

Příklad 1: Následuje jednoduchý příklad pro inicializaci a std::pole v C++:





#include

#include

int hlavní ( ) {

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

pro ( int i = 0 ; i < arr. velikost ( ) ; i ++ ) {

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

}

std :: cout << std :: endl ;

vrátit se 0 ;

}

Výstup



Příklad 2: Můžete také použít std::pole pro přístup k prvkům v poli. Kód je uveden níže:

#include

#include

int hlavní ( ) {

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

std :: cout << 'Prvním prvkem je' << arr [ 0 ] << std :: endl ;

std :: cout << 'Druhý prvek je' << arr. na ( 1 ) << std :: endl ;

std :: cout << 'Třetím prvkem je' << arr. zadní ( ) << std :: endl ;

vrátit se 0 ;

}

Výstup

Příklad 3: Následující příklad ukazuje tisk prvku z pole na konkrétní pozici pomocí std::pole v C++.

#include

#include

int hlavní ( )

{

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

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

vrátit se 0 ;

}

Výstup

Výhody std::array v C++

Na rozdíl od tradičních polí v C++, std::pole nabízí řadu funkcí.

1: Intuitivní syntaxe

std::pole má intuitivnější syntaxi pro inicializaci a lze ji inicializovat pomocí seznamu inicializátorů. To poskytuje stručnější a čitelnější způsob inicializace pole.

2: Předáno jako argumenty

std::pole lze předávat jako argumenty funkcím a je možné je také vracet z funkcí.

3: Správa paměti

Jedna z klíčových výhod používání std::pole je, že poskytuje snadnou a efektivní správu paměti. To znamená, že není potřeba ruční alokace paměti nebo dealokace.

4: Automatická kontrola vazby

Skutečnost, že std::pole nabízí automatickou kontrolu hranic přes pole ve stylu C je jednou z jeho klíčových výhod. To znamená, že pokud se program pokusí získat přístup k prvku mimo definovaný rozsah pole, kompilátor vytvoří chybu. Přetečení vyrovnávací paměti, chyby segmentace a úniky paměti jsou jen některé z častých problémů s programováním, kterým vám může kontrola vazby pomoci vyhnout se.

5: Poskytuje užitečné funkce

std::pole nabízí několik užitečných funkcí, jako jsou iterátory, size(), front(), back(), fill() a at(), což je další výhoda. Tyto funkce usnadňují manipulaci s prvky pole bez nutnosti složitého kódu náchylného k chybám. Iterátory například usnadňují navigaci mezi prvky pole a metoda fill() vám umožňuje zadat jedinou hodnotu celé sadě prvků pole.

Závěr

V C++ je std::pole třída nabízí praktický způsob práce s poli pevné velikosti spolu s některými užitečnými funkcemi a výhodami bezpečnosti typu a rozsahu. Pro inicializaci a kontrolu hranic poskytuje jasnější a srozumitelnější syntaxi, která může pomoci vyhnout se mnoha typickým programátorským chybám. Pro většinu situací, kdy je nutné použít pole pevné velikosti, se doporučuje použití std::array, protože poskytuje aktuálnější a bezpečnější způsob manipulace s nimi.