La matriu és una col·lecció d'objectes homogenis i aquest contenidor de matriu es defineix per a matrius de mida constant o (mida estàtica). Aquest contenidor envolta matrius de mida fixa i la informació de la seva mida no es perd quan es declara a un punter.
Per utilitzar matrius, hem d'incloure la capçalera de la matriu:
#include>
Vegem un exemple.
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>o 1{{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;> }> |
>
>Sortida:
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>
Aquesta matriu C++ STL és una mena de contenidor seqüencial i no s'utilitza extremadament en la programació normal o en la programació competitiva, però de vegades la seva funció membre li proporciona un avantatge superior a la matriu normal normal que utilitzem a la nostra vida diària. Per tant, estem discutint algunes de les funcions de membre importants que s'utilitzen amb aquest tipus de matriu:
Les funcions dels membres per a la plantilla de matriu són les següents:
Sintaxi: array nom_arr;
a) [ ] Operador : Això és similar a la matriu normal, l'utilitzem per accedir al magatzem d'elements a l'índex 'i'.
Ex:
C++
llista de tipus de lletra a gimp
#include> #include> using> namespace> std;> int> main() {> >array <>char> , 3>arr={>'G'>,>'f'>,>'G'>};> >cout< ' '< return 0; }> |
>
>Sortida
G G>
b) Funció davant ( ) i darrere ( ): Aquests mètodes s'utilitzen per accedir directament al primer i a l'últim element de la matriu.
C++
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 3>arr={>'G'>,>'f'>,>'G'>};>// ASCII val of 'G' =71> >cout< ' '< return 0; }> |
>
>Sortida
71 71>
c) funció swap( ): Aquesta funció d'intercanvi s'utilitza per intercanviar el contingut de les dues matrius.
Ex:
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; }> |
>
>Sortida
77 80>
d) funció buida ( ): Aquesta funció s'utilitza per comprovar si la matriu STL declarada està buida o no, si està buida, retorna true o false.
Ex:
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; }> |
>
>Sortida
false>
e) funció at( ): Aquesta funció s'utilitza per accedir a l'element emmagatzemat en una ubicació específica, si intentem accedir a l'element que està fora dels límits de la mida de la matriu, llavors llança una excepció.
Ex:
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;> }> |
>
>Sortida
71 80>
f) funció omplir ( ): Això s'utilitza especialment per inicialitzar o omplir tots els índexs de la matriu amb un valor similar.
Ex:
C++
binari a bcd
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 5>arr;> >arr.fill(1);> >for>(>int> i: arr)> >cout< ' '; return 0; }> |
>
>Sortida
1 1 1 1 1>
g) funció size( ) o max_size() i sizeof(): Tant size() com max_size() s'utilitzen per obtenir el nombre màxim d'índexs de la matriu mentre que sizeof() s'utilitza per obtenir la mida total de la matriu en bytes.
C++
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 10>arr;>>> |
>
>Sortida
10 10 40>
h) dades(): Aquesta funció retorna el punter al primer element de l'objecte matriu. Com que els elements de la matriu s'emmagatzemen en ubicacions de memòria contigües. Aquesta funció data( ) ens retorna l'adreça base de l'objecte de tipus string/char.
Ex:
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() i cend(): aneu a aquest enllaç gfg: Fes clic_me