La introducción de la clase de array de C++ 11 ha ofrecido una mejor alternativa para las arrays de estilo C. Las ventajas de la clase de array sobre la array de estilo C son: –
- Las clases de array conocen su propio tamaño, mientras que las arrays de estilo C carecen de esta propiedad. Entonces, al pasar a funciones, no necesitamos pasar el tamaño de Array como un parámetro separado.
- Con una array de estilo C, existe un mayor riesgo de que la array se descomponga en un puntero . Las clases de array no se descomponen en punteros.
- Las clases de arreglos son generalmente más eficientes, livianas y confiables que los arreglos de estilo C.
Operaciones en arreglos :-
1. at() :- Esta función se usa para acceder a los elementos del arreglo.
2. get() : – Esta función también se usa para acceder a los elementos de la array. Esta función no es miembro de la clase de array, sino una función sobrecargada de la tupla de clase.
3. operator[] :- Esto es similar a las arrays de estilo C. Este método también se usa para acceder a los elementos de la array.
CPP
// C++ code to demonstrate working of array, // at() and get() #include<iostream> #include<array> // for array, at() #include<tuple> // for get() using namespace std; int main() { // Initializing the array elements array<int,6> 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; }
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
4. front() :- Esto devuelve el primer elemento de la array.
5. back() :- Esto devuelve el último elemento de la array.
CPP
// C++ code to demonstrate working of // front() and back() #include<iostream> #include<array> // for front() and back() using namespace std; int main() { // Initializing the array elements array<int,6> ar = {1, 2, 3, 4, 5, 6}; // Printing first element of array cout << "First element of array is : "; cout << ar.front() << endl; // Printing last element of array cout << "Last element of array is : "; cout << ar.back() << endl; return 0; }
First element of array is : 1 Last element of array is : 6
6. tamaño() : – Devuelve la cantidad de elementos en la array. Esta es una propiedad de la que carecen las arrays de estilo C.
7. max_size() :- Devuelve el número máximo de elementos que el array puede contener, es decir, el tamaño con el que se declara el array. size() y max_size() devuelven el mismo valor.
CPP
// C++ code to demonstrate working of // size() and max_size() #include<iostream> #include<array> // for size() and max_size() using namespace std; int main() { // Initializing the array elements array<int,6> 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; }
The number of array elements is : 6 Maximum elements array can hold is : 6
8. swap() :- swap() intercambia todos los elementos de una array con otra.
CPP
// C++ code to demonstrate working of swap() #include<iostream> #include<array> // for swap() and array using namespace std; int main() { // Initializing 1st array array<int,6> ar = {1, 2, 3, 4, 5, 6}; // Initializing 2nd array array<int,6> 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; }
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. vacío() : – Esta función devuelve verdadero cuando el tamaño de la array es cero; de lo contrario, devuelve falso.
10. fill() :- Esta función se usa para llenar toda la array con un valor particular.
CPP
// C++ code to demonstrate working of empty() // and fill() #include<iostream> #include<array> // for fill() and empty() using namespace std; int main() { // Declaring 1st array array<int,6> ar; // Declaring 2nd array array<int,0> 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; }
Array empty Array after filling operation is : 0 0 0 0 0 0
Este artículo es una contribución de Manjeet Singh . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA