Pole je kolekce homogenních objektů a tento kontejner pole je definován pro pole konstantní velikosti nebo (statická velikost). Tento kontejner obtéká pole pevné velikosti a informace o jeho velikosti se při deklaraci do ukazatele neztratí.
Abychom mohli využívat pole, musíme zahrnout záhlaví pole:
#include>
Podívejme se na příklad.
CPP
// CPP program to demonstrate working of array> #include> #include> #include> #include> #include> using> namespace> std;> int> main() {> >// construction uses aggregate initialization> >// double-braces required> >array<>int>, 5>nebo 1{{3, 4, 5, 1, 2}};> >array<>int>, 5>ar2 = {1, 2, 3, 4, 5};> >array ar3 = {{string(>'a'>),>'b'>}};> >cout <<>'Sizes of arrays are'> << endl;> >cout << ar1.size() << endl;> >cout << ar2.size() << endl;> >cout << ar3.size() << endl;> > >cout <<>'
Initial ar1 : '>;> >for> (>auto> i : ar1)> >cout << i <<>;> >// container operations are supported> >sort(ar1.begin(), ar1.end());> >cout <<>'
sorted ar1 : '>;> >for> (>auto> i : ar1)> >cout << i <<>;> >// Filling ar2 with 10> >ar2.fill(10);> >cout <<>'
Filled ar2 : '>;> >for> (>auto> i : ar2)> >cout << i <<>;> >// ranged for loop is supported> >cout <<>'
ar3 : '>;> >for> (>auto> &s : ar3)> >cout << s <<>;> >return> 0;> }> |
>
>Výstup:
Sizes of arrays are 5 5 2 Initial ar1 : 3 4 5 1 2 sorted ar1 : 1 2 3 4 5 Filled ar2 : 10 10 10 10 10 ar3 : a b>
Toto pole C++ STL je druh sekvenčního kontejneru a nepoužívá se extrémně v běžném programování nebo v konkurenčním programování, ale někdy mu jeho členská funkce poskytuje horní okraj oproti běžnému normálnímu poli, které používáme v našem každodenním životě. Diskutujeme tedy o některých důležitých členských funkcích, které se používají s takovým typem pole:
Členské funkce pro šablonu pole jsou následující:
Syntaxe: pole název_pole;
a) [ ] Provozovatel : Toto je podobné normálnímu poli, používáme ho pro přístup k úložišti prvků na indexu ‚i‘ .
Příklad:
C++
java int jako řetězec
#include> #include> using> namespace> std;> int> main() {> >array <>char> , 3>arr={>'G'>,>'f'>,>'G'>};> >cout< ' '< return 0; }> |
>
>Výstup
G G>
b) funkce přední ( ) a zadní ( ): Tyto metody se používají pro přímý přístup k prvnímu a poslednímu prvku pole.
C++
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 3>arr={>'G'>,>'f'>,>'G'>};>// ASCII val of 'G' =71> >cout< ' '< return 0; }> |
>
>Výstup
71 71>
c) funkce swap( ): Tato funkce swap se používá k prohození obsahu dvou polí.
Příklad:
C++
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 3>arr={>'G'>,>'f'>,>'G'>};>// ASCII val of 'G' =71> >array <>int> , 3>arr1={>'M'>,>'M'>,>'P'>};>// ASCII val of 'M' = 77 and 'P' = 80> >arr.swap(arr1);>// now arr = {M,M,P}> >cout< ' '< return 0; }> |
>
>Výstup
77 80>
d) funkce empty( ): Tato funkce se používá ke kontrole, zda je deklarované pole STL prázdné nebo ne, pokud je prázdné, vrací true else false.
Příklad:
C++
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 3>arr={>'G'>,>'f'>,>'G'>};>// ASCII val of 'G' =71> >array <>int> , 3>arr1={>'M'>,>'M'>,>'P'>};>// ASCII val of 'M' = 77 and 'P' = 80> >bool> x = arr.empty();>// false ( not empty)> >cout< return 0; }> |
>
>Výstup
false>
e) funkce at(): Tato funkce se používá pro přístup k prvku uloženému na konkrétním místě, pokud se pokusíme o přístup k prvku, který je mimo rozsah velikosti pole, vyvolá výjimku.
Příklad:
C++
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 3>arr={>'G'>,>'f'>,>'G'>};>// ASCII val of 'G' =71> >array <>int> , 3>arr1={>'M'>,>'M'>,>'P'>};>// ASCII val of 'M' = 77 and 'P' = 80> >cout<< arr.at(2) <<> << arr1.at(2);> >//cout<< arr.at(3); // exception{Abort signal from abort(3) (SIGABRT)}> >return> 0;> }> |
>
>Výstup
71 80>
f) funkce fill(): To se speciálně používá k inicializaci nebo vyplnění všech indexů pole podobnou hodnotou.
Příklad:
C++
chr funkce python
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 5>arr;> >arr.fill(1);> >for>(>int> i: arr)> >cout< ' '; return 0; }> |
>
>Výstup
1 1 1 1 1>
g) funkce size() nebo max_size() a sizeof(): Jak size() tak max_size() se používají k získání maximálního počtu indexů v poli, zatímco sizeof() se používá k získání celkové velikosti pole v bajtech.
C++
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 10>arr;> >cout< '
'; // total num of indexes cout< '
'; // total num of indexes cout< |
>
>Výstup
10 10 40>
h) údaje(): Tato funkce vrací ukazatel na první prvek objektu pole. Protože prvky v poli jsou uloženy v souvislých paměťových místech. Tato funkce data() nám vrací základní adresu objektu typu řetězec/znak.
Příklad:
C++
#include> #include> #include> using> namespace> std;> int> main ()> {> >const> char>* str =>'techcodeview.com'>;> >array<>char>,13>arr;> >memcpy> (arr.data(),str,13);> >cout << arr.data() <<>'
'>;> >return> 0;> }> |
>
>
techcodeview.com>
I) cbegin() a cend(): přejděte na tento odkaz gfg: Klikni na mě