STD::array i C++

Matrisen er en samling av homogene objekter, og denne matrisebeholderen er definert for matriser med konstant størrelse eller (statisk størrelse). Denne beholderen vikler seg rundt matriser med fast størrelse, og informasjonen om størrelsen går ikke tapt når den deklareres til en peker.
For å bruke arrays, må vi inkludere array header:

 #include 

La oss se et eksempel.

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

Produksjon:

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 

Denne C++ STL-arrayen er en slags sekvensiell beholder og brukes ikke ekstremt i vanlig programmering eller i konkurrerende programmering, men noen ganger gir dens medlemsfunksjon en øvre kant til den i forhold til den vanlige normale arrayen som vi bruker i vårt daglige liv. Så vi diskuterer noen av de viktige medlemsfunksjonene som brukes med en slik type array:

Medlemsfunksjoner for Array Template er som følger:

Syntaks: array arr_name;

a) [ ] Operatør : Dette ligner på den normale matrisen, vi bruker den for å få tilgang til elementlageret ved indeks 'i' .

Eks:

C++




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

Produksjon

G G 

b) front( ) og back( ) funksjon: Disse metodene brukes for å få direkte tilgang til det første og det siste elementet i matrisen.

C++




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

Produksjon

71 71 

c) swap( ) funksjon: Denne byttefunksjonen brukes til å bytte innholdet i de to matrisene.

Eks:

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

Produksjon

77 80 

d) tom( ) funksjon: Denne funksjonen brukes til å sjekke om den deklarerte STL-matrisen er tom eller ikke, hvis den er tom, returnerer den true else false.

Eks:

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

Produksjon

false 

e) at( ) funksjon: Denne funksjonen brukes til å få tilgang til elementet som er lagret på et bestemt sted, hvis vi prøver å få tilgang til elementet som er utenfor rekkevidden av matrisestørrelsen, gir det et unntak.

Eks:

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

Produksjon

71 80 

f) fyll( ) funksjon: Dette er spesielt brukt til å initialisere eller fylle alle indeksene til matrisen med en lignende verdi.

Eks:

C++




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

Produksjon

1 1 1 1 1 

g) størrelse( ) eller maks_størrelse( ) og størrelse på( ) funksjon: Både size( ) eller max_size( ) brukes for å få maksimalt antall indekser i matrisen mens sizeof( ) brukes til å få den totale størrelsen på matrise i byte.

C++




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

Produksjon

10 10 40 

h) data( ): Denne funksjonen returnerer pekeren til det første elementet i array-objektet. Fordi elementer i matrisen er lagret i sammenhengende minneplasseringer. Denne data( )-funksjonen returnerer oss baseadressen til objektet streng/char-type.

Eks:

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


Produksjon

techcodeview.com 

I) cbegin( ) og cend( ): gå til denne gfg-lenken: Klikk på meg