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;> }> |
techcodeview.com
I) cbegin ( ) ir cend ( ): eikite į šią gfg nuorodą: Paspausk mane