logo

Classe de matriu a C ++

La introducció de la classe Array de C ++ 11 ha ofert una alternativa millor per a les matrius d'estil C. Els avantatges de la classe Array sobre la matriu d'estil C són:- 
 

  • Les classes de matriu coneix la seva mida pròpia, mentre que les matrius d'estil C no tenen aquesta propietat. Per tant, quan passem a les funcions, no necessitem passar la mida de la matriu com a paràmetre separat.
  • Amb matriu d’estil C, hi ha més risc de la matriu es decaigui en un punter . Les classes de matriu no decauen en punters
  • Les classes de matriu són generalment més eficients i fiables que les matrius d'estil C.

Operacions en matriu :- 
1. At () :- Aquesta funció s'utilitza per accedir als elements de la matriu. 
2. Get () :- Aquesta funció també s'utilitza per accedir als elements de la matriu. Aquesta funció no és el membre de la classe Array, sinó la funció sobrecarregada de la classe de classe. 
3. Operador [] :- Això és similar a les matrius d'estil C. Aquest mètode també s’utilitza per accedir a elements de matriu.

CPP
// C++ code to demonstrate working of array // at() and get() #include   #include   // for array at() #include // for get() using namespace std; int main() {  // Initializing the array elements  array<int6> ar = {1 2 3 4 5 6};  // Printing array elements using at()  cout << 'The array elements are (using at()) : ';  for ( int i=0; i<6; i++)  cout << ar.at(i) << ' ';  cout << endl;  // Printing array elements using get()  cout << 'The array elements are (using get()) : ';  cout << get<0>(ar) << ' ' << get<1>(ar) << ' ';  cout << get<2>(ar) << ' ' << get<3>(ar) << ' ';  cout << get<4>(ar) << ' ' << get<5>(ar) << ' ';  cout << endl;  // Printing array elements using operator[]  cout << 'The array elements are (using operator[]) : ';  for ( int i=0; i<6; i++)  cout << ar[i] << ' ';  cout << endl;  return 0; } 

Producció
The array elements are (using at()) : 1 2 3 4 5 6 The array elements are (using get()) : 1 2 3 4 5 6 The array elements are (using operator[]) : 1 2 3 4 5 6 

5. Front () :- Això retorna la referència al primer element de la matriu. 
5. enrere () :- Això retorna la referència a l'últim element de la matriu.



CPP
// C++ code to demonstrate working of // front() and back() #include   #include   // including header file to use stl array and there function  using namespace std; int main() {  // Initializing the array elements  array<int6> ar = {1 2 3 4 5 6};  // Printing first element of array  cout << 'First element of array is : ';  int &a=ar.front();  cout <<a<< endl;  // Printing last element of array  cout << 'Last element of array is : ';  int &b=ar.back();  cout << b << endl;    //change first and last element of array using these references  a=10; //now 1 change to 10  b=60; //now 6 change to 60    //lets print array now   cout<<'array after updating first and last element n';  for (auto x: ar)  {  cout<<x<<' ';  }  cout<<endl;    return 0; } 

Producció
First element of array is : 1 Last element of array is : 6 array after updating first and last element 10 2 3 4 5 60 


6. Mida () :- Retorna el nombre d'elements en matriu. Es tracta d’una propietat que manca les matrius d’estil C. 
7. max_size () :- Retorna el nombre màxim d'elements que la matriu pot contenir, és a dir, la mida amb la qual es declara la matriu. La mida () i el max_size () retornen el mateix valor.

CPP
// C++ code to demonstrate working of // size() and max_size() #include   #include   // for size() and max_size() using namespace std; int main() {  // Initializing the array elements  array<int6> ar = {1 2 3 4 5 6};  // Printing number of array elements  cout << 'The number of array elements is : ';  cout << ar.size() << endl;  // Printing maximum elements array can hold  cout << 'Maximum elements array can hold is : ';  cout << ar.max_size() << endl;  return 0; } 

Producció
The number of array elements is : 6 Maximum elements array can hold is : 6

8. Swap () :- El swap () canvia tots els elements d'una matriu amb una altra.

CPP
// C++ code to demonstrate working of swap() #include   #include   // for swap() and array using namespace std; int main() {  // Initializing 1st array  array<int6> ar = {1 2 3 4 5 6};  // Initializing 2nd array  array<int6> ar1 = {7 8 9 10 11 12};  // Printing 1st and 2nd array before swapping  cout << 'The first array elements before swapping are : ';  for (int i=0; i<6; i++)  cout << ar[i] << ' ';  cout << endl;  cout << 'The second array elements before swapping are : ';  for (int i=0; i<6; i++)  cout << ar1[i] << ' ';  cout << endl;  // Swapping ar1 values with ar  ar.swap(ar1);  // Printing 1st and 2nd array after swapping  cout << 'The first array elements after swapping are : ';  for (int i=0; i<6; i++)  cout << ar[i] << ' ';  cout << endl;  cout << 'The second array elements after swapping are : ';  for (int i=0; i<6; i++)  cout << ar1[i] << ' ';  cout << endl;  return 0; } 

Producció
The first array elements before swapping are : 1 2 3 4 5 6 The second array elements before swapping are : 7 8 9 10 11 12 The first array elements after swapping are : 7 8 9 10 11 12 The second array elements after swapping are : 1 2 3 4 5 6 

  9. Buits () :- Aquesta funció retorna quan la mida de la matriu és zero més que torna fals. 
10. Fill () :- Aquesta funció s'utilitza per omplir tota la matriu amb un valor concret.

CPP
// C++ code to demonstrate working of empty() // and fill() #include   #include   // for fill() and empty() using namespace std; int main() {  // Declaring 1st array  array<int6> ar;  // Declaring 2nd array  array<int0> ar1;  // Checking size of array if it is empty  ar1.empty()? cout << 'Array empty':  cout << 'Array not empty';  cout << endl;  // Filling array with 0  ar.fill(0);  // Displaying array after filling  cout << 'Array after filling operation is : ';  for ( int i=0; i<6; i++)  cout << ar[i] << ' ';  return 0; } 

Producció
Array empty Array after filling operation is : 0 0 0 0 0 0