STD::array i C++

Arrayet er en samling af homogene objekter, og denne arraybeholder er defineret til arrays med konstant størrelse eller (statisk størrelse). Denne beholder omslutter arrays med fast størrelse, og informationen om dens størrelse går ikke tabt, når den erklæres til en pointer.
For at bruge arrays skal vi inkludere array-headeren:

 #include 

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

Produktion:

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 

Dette C++ STL-array er en slags sekventiel beholder og bruges ikke ekstremt i almindelig programmering eller i konkurrerende programmering, men nogle gange giver dens medlemsfunktion en øvre kant til det i forhold til det almindelige normale array, som vi bruger i vores daglige liv. Så vi diskuterer nogle af de vigtige medlemsfunktioner, der bruges med en sådan slags array:

Medlemsfunktioner for Array Template er som følger:

Syntaks: array arr_name;

a) [ ] Operatør : Dette svarer til det normale array, vi bruger det til at få adgang til elementlageret ved indeks 'i'.

Eks:

C++




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

Produktion

G G 

b) front( ) og back( ) funktion: Disse metoder bruges til at få direkte adgang til det første og det sidste element i arrayet.

C++




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

Produktion

71 71 

c) swap( ) funktion: Denne swap-funktion bruges til at bytte indholdet af de to arrays.

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

Produktion

77 80 

d) tom( ) funktion: Denne funktion bruges til at kontrollere, om den erklærede STL-array er tom eller ej, 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; }>

Produktion

false 

e) at( ) funktion: Denne funktion bruges til at få adgang til elementet, der er gemt på et bestemt sted, hvis vi forsøger at få adgang til elementet, som er uden for grænserne af array-størrelsen, kaster det en undtagelse.

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

Produktion

71 80 

f) fill( ) funktion: Dette er specielt brugt til at initialisere eller udfylde alle indekser i arrayet med en lignende værdi.

Eks:

C++




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

Produktion

1 1 1 1 1 

g) size( ) eller max_size( ) og sizeof( ) funktion: Både size( ) eller max_size( ) bruges til at få det maksimale antal indekser i arrayet, mens sizeof( ) bruges til at få den samlede størrelse af array i bytes.

C++




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

Produktion

10 10 40 

h) data( ): Denne funktion returnerer markøren til det første element i array-objektet. Fordi elementer i arrayet er gemt i sammenhængende hukommelsesplaceringer. Denne data( )-funktion returnerer os basisadressen for 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;> }>


Produktion

techcodeview.com 

I) cbegin( ) og cend( ): gå til dette gfg-link: Klik_mig