Clase de array en C++

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;
 
}
Producción

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;
 
}
Producción

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;
 
}
Producción

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;
 
}
Producción

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;
 
}
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *