STD::masyvas C++

Masyvas yra vienarūšių objektų rinkinys ir šis masyvo konteineris yra apibrėžtas pastovaus dydžio masyvams arba (statinis dydis). Šis konteineris apgaubia fiksuoto dydžio matricas, o jo dydžio informacija neprarandama, kai nurodoma žymeklyje.
Norėdami naudoti masyvus, turime įtraukti masyvo antraštę:

 #include 

Pažiūrėkime pavyzdį.

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

Išvestis:

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 

Šis C++ STL masyvas yra tam tikras nuoseklus konteineris ir nėra itin naudojamas įprastam programavimui ar konkurenciniam programavimui, tačiau kartais jo nario funkcija suteikia jam pranašumą prieš įprastą įprastą masyvą, kurį naudojame kasdieniame gyvenime. Taigi, mes aptariame kai kurias svarbias nario funkcijas, kurios naudojamos su tokio tipo masyvu:

Masyvo šablono narių funkcijos yra šios:

Sintaksė: masyvas arr_name;

a) [ ] Operatorius : Tai panašu į įprastą masyvą, jį naudojame norėdami pasiekti elementų saugyklą indeksu „i“.

Pvz.:

C++




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

Išvestis

G G 

b) priekinės ( ) ir nugaros ( ) funkcijos: Šie metodai naudojami norint tiesiogiai pasiekti pirmąjį ir paskutinįjį masyvo elementus.

C++




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

Išvestis

71 71 

c) apsikeitimo ( ) funkcija: Ši apsikeitimo funkcija naudojama dviejų masyvų turiniui apsikeisti.

Pvz.:

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

Išvestis

77 80 

d) tuščia( ) funkcija: Ši funkcija naudojama patikrinti, ar deklaruotas STL masyvas yra tuščias, ar ne, jei jis tuščias, grąžinama tiesa, kitaip false.

Pvz.:

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

Išvestis

false 

e) at( ) funkcija: Ši funkcija naudojama norint pasiekti elementą, saugomą konkrečioje vietoje, jei bandome pasiekti elementą, kuris nepatenka į masyvo dydžio ribas, tada ji padaro išimtį.

Pvz.:

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

Išvestis

71 80 

f) užpildymo ( ) funkcija: Tai specialiai naudojama inicijuoti arba užpildyti visus masyvo indeksus panašia reikšme.

Pvz.:

C++




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

Išvestis

1 1 1 1 1 

g) dydis( ) arba max_size( ) ir sizeof( ) funkcija: Tiek dydis( ), tiek max_size( ) naudojami norint gauti maksimalų indeksų skaičių masyve, o sizeof() naudojamas norint gauti bendrą masyvo dydį baitais.

C++




#include> #include> using> namespace> std;> int> main() {> > array <> int> , 10>arr;>>

Išvestis

10 10 40 

h) duomenys ( ): Ši funkcija grąžina žymeklį į pirmąjį masyvo objekto elementą. Kadangi masyvo elementai yra saugomi gretimose atminties vietose. Ši data ( ) funkcija grąžina mums bazinį string/char tipo objekto adresą.

Pvz.:

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


Išvestis

techcodeview.com 

I) cbegin ( ) ir cend ( ): eikite į šią gfg nuorodą: Paspausk mane