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