array (Clase, STL)

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Describe un objeto que controla una secuencia de longitud N de elementos de tipo Ty. La secuencia se almacena como matriz de Ty, que se encuentra en el objeto array<Ty, N>.

template <class Ty, std::size_t N>  
class array;  

Parámetros

ParámetroDescripción
TyEl tipo de un elemento.
NNúmero de elementos.
Definición de tipoDescripción
Array::const_iteratorEl tipo de un iterador constante para la secuencia controlada.
Array::const_pointerEl tipo de un puntero constante a un elemento.
Array::const_referenceEl tipo de una referencia constante a un elemento.
Array::const_reverse_iteratorEl tipo de un iterador invertido constante para la secuencia controlada.
Array::difference_typeEl tipo de una distancia con signo entre dos elementos.
Array::IteratorEl tipo de un iterador para la secuencia controlada.
Array::pointerEl tipo de un puntero a un elemento.
Array::ReferenceEl tipo de una referencia a un elemento.
Array::reverse_iteratorEl tipo de un iterador invertido para la secuencia controlada.
Array::size_typeEl tipo de una distancia sin signo entre dos elementos.
Array::value_typeEl tipo de un elemento.
Función miembroDescripción
Array::ArrayConstruye un objeto de matriz.
Array::AssignReemplaza todos los elementos.
Array::ATObtiene acceso a un elemento en una posición especificada.
Array::backObtiene acceso al último elemento.
Array::beginDesigna el principio de la secuencia controlada.
Array::cbeginDevuelve un iterador const de acceso aleatorio al primer elemento de la matriz.
Array::cendDevuelve un iterador const de acceso aleatorio que apunta justo después del final de la matriz.
Array::crbeginDevuelve un iterador constante al primer elemento de una matriz inversa.
Array::crendDevuelve un iterador constante al final de una matriz invertida.
Array:: DataObtiene la dirección del primer elemento.
Array::EmptyComprueba si hay algún elemento presente.
Array::endDesigna el final de la secuencia controlada.
Array::FillReemplaza todos los elementos por un valor especificado.
Array::frontObtiene acceso al primer elemento.
Array::max_sizeCuenta el número de elementos.
Array::rbeginDesigna el principio de la secuencia controlada inversa.
Array::rendDesigna el final de la secuencia controlada inversa.
Array::SizeCuenta el número de elementos.
Array::swapIntercambia el contenido de dos contenedores.
OperadorDescripción
Array:: operator =Reemplaza la secuencia controlada.
[] ArrayObtiene acceso a un elemento en una posición especificada.

El tipo tiene un constructor predeterminado array() y un operador de asignación predeterminado operator=, y cumple los requisitos de un aggregate. Por lo tanto, los objetos de tipo array<Ty, N> se pueden inicializar con un inicializador agregado. Por ejemplo,

array<int, 4> ai = { 1, 2, 3 };  

crea el objeto ai que contiene cuatro valores enteros, inicializa los tres primeros elementos a los valores 1, 2 y 3, respectivamente, e inicializa el cuarto a 0.

Encabezado:<>>

Espacio de nombres: std

Construye un objeto de matriz.

array();

array(const array& right);

Parámetros

right
Objeto o el intervalo que se va a insertar.

Comentarios

El constructor:

array();

deja la secuencia sin inicializar controlado (o inicializado de forma predeterminada). Se usa para especificar una secuencia controlada sin inicializar.

El constructor:

array(const array& right);

Inicializa la secuencia controlada a la secuencia de [``right``. array::begin (), right``. array::end()). Se usa para especificar una secuencia controlada inicial que es una copia de la secuencia controlada por el objeto de matriz right.

Ejemplo

// std_tr1__array__array_array.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
    Myarray c1(c0);   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c1.begin();   
        it != c1.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
0 1 2 3  

Reemplaza todos los elementos.

void assign(const Ty& val);

Parámetros

val
Valor que se va a asignar.

Comentarios

La función miembro reemplaza la secuencia controlada por *this con una repetición de N elementos de valor val.

Ejemplo

// std_tr1__array__array_assign.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
    Myarray c1;   
    c1.assign(4);   
  
// display contents " 4 4 4 4"   
    for (Myarray::const_iterator it = c1.begin();   
        it != c1.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
4 4 4 4  

Obtiene acceso a un elemento en una posición especificada.

reference at(size_type off);

constexpr const_reference at(size_type off) const;

Parámetros

off
Posición del elemento al que se accederá.

Comentarios

Las funciones miembro devuelven una referencia al elemento de la secuencia controlada en la posición off. Si esa posición no es válida, la función produce un objeto de clase out_of_range.

Ejemplo

// std__array__array_at.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display odd elements " 1 3"   
    std::cout << " " << c0.at(1);   
    std::cout << " " << c0.at(3);   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

Obtiene acceso al último elemento.

reference back();

constexpr const_reference back() const;

Comentarios

Las funciones miembro devuelven una referencia al último elemento de la secuencia controlada, que no debe estar vacío.

Ejemplo

// std__array__array_back.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display last element " 3"   
    std::cout << " " << c0.back();   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
3  

Designa el principio de la secuencia controlada.

iterator begin() noexcept;  
const_iterator begin() const noexcept;  

Comentarios

Las funciones miembro devuelven un iterador de acceso aleatorio que apunta al primer elemento de la secuencia (o más allá del final de una secuencia vacía).

Ejemplo

// std_tr1__array__array_begin.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display first element " 0"   
    Myarray::iterator it2 = c0.begin();   
    std::cout << " " << *it2;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
0  

Devuelve un iterador const que direcciona el primer elemento del intervalo.

const_iterator cbegin() const noexcept;  

Valor devuelto

Iterador const de acceso aleatorio que apunta al primer elemento del intervalo o la ubicación situada más allá del final de un intervalo vacío (para un intervalo vacío, cbegin() == cend()).

Comentarios

Con el valor devuelto de cbegin, los elementos del intervalo no se pueden modificar.

Se puede usar esta función miembro en lugar de la función miembro begin() para garantizar que el valor devuelto es const_iterator. Normalmente, se usa junto con el automática escriba la palabra clave de deducción, tal como se muestra en el ejemplo siguiente. En el ejemplo, considere la posibilidad de Container sea un modificable (no - const) contenedor de cualquier naturaleza que admite begin() y cbegin().

 
auto i1 = Container.begin();
// i1 is Container<T>::iterator   
auto i2 = Container.cbegin();

// i2 is Container<T>::const_iterator  

Devuelve un iterador const que direcciona la ubicación situada más allá del último elemento de un intervalo.

const_iterator cend() const noexcept;  

Valor devuelto

Iterador de acceso aleatorio que apunta justo después del final del intervalo.

Comentarios

cend se usa para probar si un iterador ha sobrepasado el final de su intervalo.

Se puede usar esta función miembro en lugar de la función miembro end() para garantizar que el valor devuelto es const_iterator. Normalmente, se usa junto con el automática escriba la palabra clave de deducción, tal como se muestra en el ejemplo siguiente. En el ejemplo, considere la posibilidad de Container sea un modificable (no - const) contenedor de cualquier naturaleza que admite end() y cend().

 
auto i1 = Container.end();
// i1 is Container<T>::iterator   
auto i2 = Container.cend();

// i2 is Container<T>::const_iterator  

El valor devuelto por cend no se debe desreferenciar.

El tipo de un iterador constante para la secuencia controlada.

typedef implementation-defined const_iterator;  

Comentarios

El tipo describe un objeto que puede actuar como un iterador de acceso aleatorio constante para la secuencia controlada.

Ejemplo

  
// std__array__array_const_iterator.cpp  
// compile with: /EHsc /W4  
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> MyArray;   
  
int main()   
{   
    MyArray c0 = {0, 1, 2, 3};   
  
    // display contents " 0 1 2 3"   
    std::cout << "it1:";  
    for ( MyArray::const_iterator it1 = c0.begin();   
          it1 != c0.end();   
          ++it1 ) {  
       std::cout << " " << *it1;   
    }  
    std::cout << std::endl;   
  
    // display first element " 0"   
    MyArray::const_iterator it2 = c0.begin();   
    std::cout << "it2:";  
    std::cout << " " << *it2;   
    std::cout << std::endl;   
  
    return (0);   
}  
  

it1: 0 1 2 3                                  
  
it2: 0  
  

El tipo de un puntero constante a un elemento.

typedef const Ty *const_pointer;  

Comentarios

El tipo describe un objeto que puede actuar como puntero constante a los elementos de la secuencia.

Ejemplo

// std_tr1__array__array_const_pointer.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display first element " 0"   
    Myarray::const_pointer ptr = &*c0.begin();   
    std::cout << " " << *ptr;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
0  

El tipo de una referencia constante a un elemento.

typedef const Ty& const_reference;  

Comentarios

El tipo describe un objeto que puede actuar como referencia constante a un elemento de la secuencia controlada.

Ejemplo

// std_tr1__array__array_const_reference.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display first element " 0"   
    Myarray::const_reference ref = *c0.begin();   
    std::cout << " " << ref;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
0  

El tipo de un iterador invertido constante para la secuencia controlada.

typedef std::reverse_iterator<const_iterator> const_reverse_iterator;  

Comentarios

El tipo describe un objeto que puede actuar como un iterador inverso constante para la secuencia controlada.

Ejemplo

// std_tr1__array__array_const_reverse_iterator.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display last element " 3"   
    Myarray::const_reverse_iterator it2 = c0.rbegin();   
    std::cout << " " << *it2;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
3  

Devuelve un iterador constante al primer elemento de una matriz inversa.

const_reverse_iterator crbegin() const;

Valor devuelto

Iterador inverso constante de acceso aleatorio que dirige al primer elemento de una matriz inversa o al que fue el último elemento de la matriz sin invertir.

Comentarios

Con el valor devuelto de crbegin, el objeto de matriz no se puede modificar.

Ejemplo

// array_crbegin.cpp  
// compile with: /EHsc  
#include <array>  
#include <iostream>  
  
int main( )  
{  
   using namespace std;     
   array<int, 2> v1 = {1, 2};  
   array<int, 2>::iterator v1_Iter;  
   array<int, 2>::const_reverse_iterator v1_rIter;  
  
   v1_Iter = v1.begin( );  
   cout << "The first element of array is "  
        << *v1_Iter << "." << endl;  
  
   v1_rIter = v1.crbegin( );  
   cout << "The first element of the reversed array is "  
        << *v1_rIter << "." << endl;  
}  

The first element of array is 1.  
The first element of the reversed array is 2.  

Devuelve un iterador constante que dirige a la ubicación siguiente al último elemento de una matriz invertida.

const_reverse_iterator crend() const noexcept;  

Valor devuelto

Iterador constante de acceso aleatorio inverso que dirige a la ubicación siguiente al último elemento de una matriz invertida (la ubicación que había precedido al primer elemento de la matriz sin invertir).

Comentarios

crendse utiliza con una matriz invertida igual que array::cend se utiliza con una matriz.

Con el valor devuelto de crend (adecuadamente reducido), el objeto de matriz no se puede modificar.

Se puede utilizar crend para comprobar si un iterador inverso ha llegado al final de su matriz.

El valor devuelto por crend no se debe desreferenciar.

Ejemplo

// array_crend.cpp  
// compile with: /EHsc  
#include <array>  
#include <iostream>  
  
int main( )  
{  
   using namespace std;     
   array<int, 2> v1 = {1, 2};  
   array<int, 2>::const_reverse_iterator v1_rIter;  
  
   for ( v1_rIter = v1.rbegin( ) ; v1_rIter != v1.rend( ) ; v1_rIter++ )  
      cout << *v1_rIter << endl;  
}  

Obtiene la dirección del primer elemento.

Ty *data();

const Ty *data() const;

Comentarios

Las funciones miembro devuelven la dirección del primer elemento de la secuencia controlada.

Ejemplo

// std_tr1__array__array_data.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display first element " 0"   
    Myarray::pointer ptr = c0.data();   
    std::cout << " " << *ptr;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
0  

El tipo de una distancia con signo entre dos elementos.

typedef std::ptrdiff_t difference_type;  

Comentarios

El tipo de entero con signo describe un objeto que puede representar la diferencia entre las direcciones de dos elementos cualesquiera de la secuencia controlada. Es un sinónimo del tipo std::ptrdiff_t.

Ejemplo

// std_tr1__array__array_difference_type.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display distance first-last " -4"   
    Myarray::difference_type diff = c0.begin() - c0.end();   
    std::cout << " " << diff;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
-4  

Comprueba si no hay ningún elemento presente.

constexpr bool empty() const;

Comentarios

La función miembro devuelve true solo si N == 0.

Ejemplo

// std_tr1__array__array_empty.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display whether c0 is empty " false"   
    std::cout << std::boolalpha << " " << c0.empty();   
    std::cout << std::endl;   
  
    std::array<int, 0> c1;   
  
// display whether c1 is empty " true"   
    std::cout << std::boolalpha << " " << c1.empty();   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
false  
true  

Designa el final de la secuencia controlada.

reference end();

const_reference end() const;

Comentarios

Las funciones miembro devuelven un iterador de acceso aleatorio que apunta inmediatamente después del final de la secuencia.

Ejemplo

// std_tr1__array__array_end.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display last element " 3"   
    Myarray::iterator it2 = c0.end();   
    std::cout << " " << *--it2;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
3  

Borra una matriz y copia los elementos especificados en la matriz vacía.

void fill(const Type& val);

Parámetros

ParámetroDescripción
valValor del elemento que se va a insertar en la matriz.

Comentarios

fill reemplaza cada elemento de la matriz por el valor especificado.

Ejemplo

// array_fill.cpp  
// compile with: /EHsc  
#include <array>  
#include <iostream>  
  
int main( )  
{  
   using namespace std;  
   array<int, 2> v1 = {1, 2};  
   array<int, 2>::iterator iter;  
  
   cout << "v1 = " ;  
   for (iter = v1.begin(); iter != v1.end(); iter++)  
      cout << *iter << " ";  
   cout << endl;  
  
   v1.fill(3);  
   cout << "v1 = " ;  
   for (iter = v1.begin(); iter != v1.end(); iter++)  
      cout << *iter << " ";  
   cout << endl;  
}  

Obtiene acceso al primer elemento.

reference front();

constexpr const_reference front() const;

Comentarios

Las funciones miembro devuelven una referencia al primer elemento de la secuencia controlada, que no debe estar vacío.

Ejemplo

// std_tr1__array__array_front.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display first element " 0"   
    std::cout << " " << c0.front();   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
0  

El tipo de un iterador para la secuencia controlada.

typedef implementation-defined iterator;  

Comentarios

El tipo describe un objeto que puede actuar como un iterador de acceso aleatorio de la secuencia controlada.

Ejemplo

  
// std__array__array_iterator.cpp   
// compile with: /EHsc /W4  
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> MyArray;   
  
int main()   
{   
    MyArray c0 = {0, 1, 2, 3};   
  
    // display contents " 0 1 2 3"   
    std::cout << "it1:";  
    for ( MyArray::iterator it1 = c0.begin();   
          it1 != c0.end();   
          ++it1 ) {  
       std::cout << " " << *it1;   
    }  
    std::cout << std::endl;   
  
    // display first element " 0"   
    MyArray::iterator it2 = c0.begin();   
    std::cout << "it2:";  
    std::cout << " " << *it2;   
    std::cout << std::endl;   
  
    return (0);   
}  
  

it1: 0 1 2 3                                  
  
it2: 0  
  

Cuenta el número de elementos.

constexpr size_type max_size() const;

Comentarios

La función miembro devuelve N.

Ejemplo

// std__array__array_max_size.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display (maximum) size " 4"   
    std::cout << " " << c0.max_size();   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
4  

Obtiene acceso a un elemento en una posición especificada.

 
reference operator[](size_type off);

constexpr const_reference operator[](size_type off) const;

Parámetros

off
Posición del elemento al que se accederá.

Comentarios

Las funciones miembro devuelven una referencia al elemento de la secuencia controlada en la posición off. Si esa posición no es válida, el comportamiento es indefinido.

Ejemplo

// std_tr1__array__array_operator_sub.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display odd elements " 1 3"   
    std::cout << " " << c0[1];   
    std::cout << " " << c0[3];   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
1 3  

Reemplaza la secuencia controlada.

array <Value>%  operator=(array <Value>% right);

Parámetros

right
Contenedor que se va a copiar.

Comentarios

El operador de miembro asigna cada elemento de right para el elemento correspondiente de la secuencia controlada, a continuación, devuelve *this. Úselo para reemplazar la secuencia controlada por una copia de la secuencia controlada en right.

Ejemplo

// std_tr1__array__array_operator_as.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
    Myarray c1;   
    c1 = c0;   
  
// display copied contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c1.begin();   
        it != c1.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
0 1 2 3  

El tipo de un puntero a un elemento.

typedef Ty *pointer;  

Comentarios

El tipo describe un objeto que puede actuar como un puntero a los elementos de la secuencia.

Ejemplo

// std_tr1__array__array_pointer.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display first element " 0"   
    Myarray::pointer ptr = &*c0.begin();   
    std::cout << " " << *ptr;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
0  

Designa el principio de la secuencia controlada inversa.

reverse_iterator rbegin()noexcept;  
const_reverse_iterator rbegin() const noexcept;  

Comentarios

Las funciones miembro devuelven un iterador inverso que apunta inmediatamente después del final de la secuencia controlada. Por tanto, designa el principio de la secuencia inversa.

Ejemplo

// std_tr1__array__array_rbegin.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display last element " 3"   
    Myarray::const_reverse_iterator it2 = c0.rbegin();   
    std::cout << " " << *it2;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
3  

El tipo de una referencia a un elemento.

typedef Ty& reference;  

Comentarios

El tipo describe un objeto que puede actuar como referencia a un elemento de la secuencia controlada.

Ejemplo

// std_tr1__array__array_reference.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display first element " 0"   
    Myarray::reference ref = *c0.begin();   
    std::cout << " " << ref;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
0  

Designa el final de la secuencia controlada inversa.

reverse_iterator rend()noexcept;  
const_reverse_iterator rend() const noexcept;  

Comentarios

Las funciones miembro devuelven un iterador inverso que apunta al primer elemento de la secuencia (o más allá del final de una secuencia vacía). Por tanto, designa el final de la secuencia inversa.

Ejemplo

// std_tr1__array__array_rend.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display first element " 0"   
    Myarray::const_reverse_iterator it2 = c0.rend();   
    std::cout << " " << *--it2;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
0  

El tipo de un iterador invertido para la secuencia controlada.

typedef std::reverse_iterator<iterator> reverse_iterator;  

Comentarios

El tipo describe un objeto que puede actuar como un iterador inverso para la secuencia controlada.

Ejemplo

// std_tr1__array__array_reverse_iterator.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display last element " 3"   
    Myarray::reverse_iterator it2 = c0.rbegin();   
    std::cout << " " << *it2;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
3  

Cuenta el número de elementos.

constexpr size_type size() const;

Comentarios

La función miembro devuelve N.

Ejemplo

// std_tr1__array__array_size.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display size " 4"   
    std::cout << " " << c0.size();   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
4  

El tipo de una distancia sin signo entre dos elementos.

typedef std::size_t size_type;  

Comentarios

El tipo de entero sin signo describe un objeto que puede representar la longitud de cualquier secuencia controlada. Es un sinónimo del tipo std::size_t.

Ejemplo

// std__array__array_size_type.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display distance last-first " 4"   
    Myarray::size_type diff = c0.end() - c0.begin();   
    std::cout << " " << diff;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
4  

Intercambia el contenido de dos matrices.

void swap(array& right);

Parámetros

right
Matriz para intercambiar el contenido.

Comentarios

La función miembro intercambia las secuencias controladas entre *this y right. Realiza una serie de asignaciones de elemento y llama proporcional al constructor N.

Ejemplo

// std_tr1__array__array_swap.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
    Myarray c1 = {4, 5, 6, 7};   
    c0.swap(c1);   
  
// display swapped contents " 4 5 6 7"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
    swap(c0, c1);   
  
// display swapped contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
4 5 6 7  
0 1 2 3  

El tipo de un elemento.

typedef Ty value_type;  

Comentarios

El tipo es un sinónimo del parámetro de plantilla Ty.

Ejemplo

// std_tr1__array__array_value_type.cpp   
// compile with: /EHsc   
#include <array>   
#include <iostream>   
  
typedef std::array<int, 4> Myarray;   
int main()   
    {   
    Myarray c0 = {0, 1, 2, 3};   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        std::cout << " " << *it;   
    std::cout << std::endl;   
  
// display contents " 0 1 2 3"   
    for (Myarray::const_iterator it = c0.begin();   
        it != c0.end(); ++it)   
        {   
        Myarray::value_type val = *it;   
        std::cout << " " << val;   
        }   
    std::cout << std::endl;   
  
    return (0);   
    }  
  

0 1 2 3  
0 1 2 3  

<>>

Mostrar: