Čo je std::array v C++?

Co Je Std Array V C



C++ poskytuje množstvo dátových štruktúr na ukladanie a manipuláciu s kolekciami prvkov. Jednou z takýchto dátových štruktúr je std::pole , ktorý bol predstavený v štandardnej knižnici C++11. Prostredníctvom tohto článku sa dozviete o std::array, jeho syntaxi, príklade a jeho výhodách v C++.

Čo je std::array v C++

V C++ je kontajner známy ako std::pole sa používa na uloženie pevného počtu položiek rovnakého typu údajov. The std::pole kontajner poskytuje alternatívu k poliam v štýle C, pretože je bezpečnejší, ľahšie sa používa a má lepší výkon.

Trieda, ktorá je súčasťou štandardnej knižnice C++, ponúka praktický a efektívny prístup k ukladaniu a prístupu k prvkom s rovnakým typom údajov. Pretože veľkosť std::pole je známy v čase kompilácie, redukuje sa prevádzková réžia dynamického škálovania. Veľkosť poľa je nastavená parametrom šablóny a položkami std::pole sú uchovávané v súvislej pamäti.







Deklarujte std::array v C++

Môžete vyhlásiť std::pole Páči sa mi to:



std :: pole < int , 4 > arr ;

Vyššie uvedená syntax deklaruje pole s názvom arr s pevnou veľkosťou 4 prvkov, kde každý prvok je typu int.



Príklad std::array

Príklad 1: Nasleduje jednoduchý príklad na inicializáciu a std::pole v C++:





#include

#include

int Hlavná ( ) {

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

pre ( int i = 0 ; i < arr. veľkosť ( ) ; i ++ ) {

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

}

std :: cout << std :: endl ;

vrátiť 0 ;

}

Výkon



Príklad 2: Môžete tiež použiť std::pole na prístup k prvkom v poli. Kód je uvedený nižšie:

#include

#include

int Hlavná ( ) {

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

std :: cout << 'Prvým prvkom je' << arr [ 0 ] << std :: endl ;

std :: cout << 'Druhý prvok je' << arr. pri ( 1 ) << std :: endl ;

std :: cout << 'Tretím prvkom je' << arr. späť ( ) << std :: endl ;

vrátiť 0 ;

}

Výkon

Príklad 3: Nasledujúci príklad ukazuje tlač prvku z poľa na konkrétnej pozícii pomocou std::pole v C++.

#include

#include

int Hlavná ( )

{

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

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

vrátiť 0 ;

}

Výkon

Výhody std::array v C++

Na rozdiel od tradičných polí v C++, std::pole ponúka celý rad funkcií.

1: Intuitívna syntax

std::pole má intuitívnejšiu syntax pre inicializáciu a dá sa inicializovať pomocou zoznamu inicializátorov. To poskytuje stručnejší a čitateľnejší spôsob inicializácie poľa.

2: Prevzaté ako argumenty

std::pole môžu byť odovzdané ako argumenty funkciám a je možné ich vrátiť aj z funkcií.

3: Správa pamäte

Jedna z kľúčových výhod používania std::pole je, že poskytuje jednoduchú a efektívnu správu pamäte. To znamená, že nie je potrebné manuálne prideľovanie alebo udeľovanie pamäte.

4: Automatická kontrola viazania

Skutočnosť, že std::pole ponúka automatickú kontrolu hraníc cez polia v štýle C je jednou z jeho kľúčových výhod. To znamená, že ak sa program pokúsi o prístup k prvku mimo definovaného rozsahu poľa, kompilátor vytvorí chybu. Pretečenie vyrovnávacej pamäte, chyby segmentácie a úniky pamäte sú len niektoré z častých problémov s programovaním, ktorým vám môže kontrola viazania pomôcť vyhnúť sa.

5: Poskytuje užitočné funkcie

std::pole ponúka niekoľko praktických funkcií, ako sú iterátory, size(), front(), back(), fill() a at(), čo je ďalšia výhoda. Tieto funkcie uľahčujú manipuláciu s prvkami poľa bez potreby zložitého kódu náchylného na chyby. Iterátory napríklad uľahčujú navigáciu medzi prvkami poľa a metóda fill() vám umožňuje poskytnúť jedinú hodnotu celej množine prvkov poľa.

Záver

V C++ je std::pole ponúka praktický spôsob práce s poliami s pevnou veľkosťou spolu s niektorými užitočnými funkciami a výhodami bezpečnosti typu a rozsahu. Na inicializáciu a kontrolu hraníc poskytuje jasnejšiu a zrozumiteľnejšiu syntax, ktorá môže pomôcť vyhnúť sa mnohým typickým programátorským chybám. Vo väčšine situácií, keď sa musia použiť polia s pevnou veľkosťou, sa odporúča použiť std::array, pretože poskytuje aktuálnejší a bezpečnejší spôsob manipulácie s nimi.