STD::array v C++

Matrika je zbirka homogenih objektov in ta vsebnik matrike je definiran za nize konstantne velikosti ali (statične velikosti). Ta vsebnik se ovije okoli matrik s fiksno velikostjo in informacije o njegovi velikosti se ne izgubijo, ko se navedejo kazalcu.
Za uporabo matrik moramo vključiti glavo matrike:

 #include 

Poglejmo primer.

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>ali1{{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;> }>

Izhod:

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 

Ta matrika C++ STL je nekakšen zaporedni vsebnik in se ne uporablja izjemno v rednem programiranju ali v tekmovalnem programiranju, vendar včasih njena funkcija članica zagotavlja zgornjo mejo nad običajno običajno matriko, ki jo uporabljamo v vsakdanjem življenju. Torej, razpravljamo o nekaterih pomembnih funkcijah članicah, ki se uporabljajo s takšno vrsto matrike:

Funkcije članov za predlogo polja so naslednje:

Sintaksa: polje arr_name;

a) Operator [ ]. : To je podobno običajnemu nizu, uporabljamo ga za dostop do shrambe elementov na indeksu 'i'.

Primer:

C++




#include> #include> using> namespace> std;> int> main() {> > array <> char> , 3>arr={> 'G'> ,> 'f'> ,> 'G'> };> > cout < ' ' < return 0; }>

Izhod

G G 

b) sprednji ( ) in zadnji ( ) funkciji: Te metode se uporabljajo za neposreden dostop do prvega in zadnjega elementa matrike.

C++




#include> #include> using> namespace> std;> int> main() {> > array <> int> , 3>arr={> 'G'> ,> 'f'> ,> 'G'> };> // ASCII val of 'G' =71> > cout < ' ' < return 0; }>

Izhod

71 71 

c) funkcija swap( ): Ta funkcija zamenjave se uporablja za zamenjavo vsebine dveh nizov.

Primer:

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; }>

Izhod

77 80 

d) funkcija empty( ): Ta funkcija se uporablja za preverjanje, ali je deklarirana matrika STL prazna ali ne; če je prazna, vrne true else false.

Primer:

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; }>

Izhod

false 

e) funkcija at( ): Ta funkcija se uporablja za dostop do elementa, shranjenega na določeni lokaciji, če poskušamo dostopati do elementa, ki je izven meja velikosti niza, vrže izjemo.

Primer:

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;> }>

Izhod

71 80 

f) funkcija fill(): To se posebej uporablja za inicializacijo ali zapolnitev vseh indeksov matrike s podobno vrednostjo.

Primer:

C++




#include> #include> using> namespace> std;> int> main() {> > array <> int> , 5>arr;> > arr.fill(1);> > for> (> int> i: arr)> > cout < ' '; return 0; }>

Izhod

1 1 1 1 1 

g) funkcija size() ali max_size() in sizeof(): Za pridobitev največjega števila indeksov v matriki se uporabljata size() ali max_size(), medtem ko se sizeof() uporablja za pridobitev skupne velikosti matrike v bajtih.

C++




#include> #include> using> namespace> std;> int> main() {> > array <> int> , 10>arr;> > cout < ' '; // total num of indexes cout < ' '; // total num of indexes cout <

Izhod

10 10 40 

h) podatki(): Ta funkcija vrne kazalec na prvi element matričnega objekta. Ker so elementi v matriki shranjeni na sosednjih pomnilniških lokacijah. Ta funkcija data( ) nam vrne osnovni naslov objekta vrste niz/char.

Primer:

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;> }>


Izhod

techcodeview.com 

I) cbegin() in cend(): pojdite na to povezavo gfg: Click_me