STD::masīvs C++ valodā

Masīvs ir viendabīgu objektu kolekcija, un šis masīva konteiners ir definēts nemainīga izmēra masīviem vai (statiska izmēra). Šis konteiners aptver fiksēta izmēra masīvus, un informācija par tā lielumu netiek zaudēta, kad tas tiek deklarēts rādītājā.
Lai izmantotu masīvus, mums jāiekļauj masīva galvene:

 #include 

Apskatīsim piemēru.

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

Izvade:

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 masīvs ir sava veida secīgs konteiners, un tas netiek īpaši izmantots parastajā programmēšanā vai konkurējošā programmēšanā, taču dažkārt tā dalībnieka funkcija nodrošina tam augstāko malu salīdzinājumā ar parasto parasto masīvu, ko mēs izmantojam savā ikdienas dzīvē. Tātad, mēs apspriežam dažas svarīgas dalībnieka funkcijas, kas tiek izmantotas ar šāda veida masīvu:

Masīva veidnes dalībnieku funkcijas ir šādas:

Sintakse: masīvs arr_name;

a) [ ] Operators : Tas ir līdzīgs parastajam masīvam, mēs to izmantojam, lai piekļūtu elementu veikalam ar indeksu “i” .

Piemēram:

C++




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

Izvade

G G 

b) priekšējās ( ) un aizmugures ( ) funkcija: Šīs metodes tiek izmantotas, lai tieši piekļūtu pirmajam un pēdējam masīva elementam.

C++




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

Izvade

71 71 

c) swap( ) funkcija: Šī apmaiņas funkcija tiek izmantota, lai apmainītos ar abu masīvu saturu.

Piemēram:

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

Izvade

77 80 

d) tukša( ) funkcija: Šo funkciju izmanto, lai pārbaudītu, vai deklarētais STL masīvs ir tukšs.

Piemēram:

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

Izvade

false 

e) funkcija at( ): Šī funkcija tiek izmantota, lai piekļūtu elementam, kas saglabāts noteiktā vietā, ja mēs cenšamies piekļūt elementam, kas ir ārpus masīva lieluma robežām, tad tā rada izņēmumu.

Piemēram:

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

Izvade

71 80 

f) aizpildīšanas ( ) funkcija: To īpaši izmanto, lai inicializētu vai aizpildītu visus masīva indeksus ar līdzīgu vērtību.

Piemēram:

C++




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

Izvade

1 1 1 1 1 

g) funkcija size( ) vai max_size( ) un sizeof( ): Gan izmērs( ), gan max_size( ) tiek izmantoti, lai iegūtu maksimālo indeksu skaitu masīvā, savukārt sizeof() tiek izmantots, lai iegūtu kopējo masīva lielumu baitos.

C++




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

Izvade

10 10 40 

h) dati( ): Šī funkcija atgriež rādītāju uz masīva objekta pirmo elementu. Tā kā elementi masīvā tiek glabāti blakus esošās atmiņas vietās. Šī funkcija data( ) atgriež mums virknes/char tipa objekta bāzes adresi.

Piemēram:

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


Izvade

techcodeview.com 

I) cbegin( ) un cend( ): dodieties uz šo gfg saiti: Click_me