Clase array (biblioteca estándar de C++)
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>.
Sintaxis
C++
template <class Ty, std::size_t N>
class array;
Parámetros
Ty
El tipo de un elemento.
N
Número de elementos.
Miembros
Definición de Descripción
tipo
const_iterator El tipo de un iterador constante para la secuencia
controlada.
const_pointer El tipo de un puntero constante a un elemento.
const_referenc El tipo de una referencia constante a un elemento.
e
const_reverse_i El tipo de un iterador invertido constante para la
terator secuencia controlada.
difference_type El tipo de una distancia con signo entre dos
elementos.
iterator El tipo de un iterador para la secuencia controlada.
pointer El tipo de un puntero a un elemento.
reference El tipo de una referencia a un elemento.
reverse_iterato El tipo de un iterador invertido para la secuencia
r controlada.
size_type El tipo de una distancia sin signo entre dos elementos.
value_type El tipo de un elemento.
Función Descripción
miembro
array Construye un objeto de matriz.
assign (Obsoleto. Use fill). Reemplaza todos los elementos.
at Obtiene acceso a un elemento en una posición
especificada.
back Obtiene acceso al último elemento.
begin Designa el principio de la secuencia controlada.
cbegin Devuelve un iterador const de acceso aleatorio al primer
elemento de la matriz.
cend Devuelve un iterador const de acceso aleatorio que
apunta justo después del final de la matriz.
crbegin Devuelve un iterador constante al primer elemento de una
matriz inversa.
crend Devuelve un iterador constante al final de una matriz
invertida.
data Obtiene la dirección del primer elemento.
empty Comprueba si hay algún elemento presente.
end Designa el final de la secuencia controlada.
fill Reemplaza todos los elementos por un valor especificado.
front Obtiene acceso al primer elemento.
max_size Cuenta el número de elementos.
rbegin Designa el principio de la secuencia controlada inversa.
rend Designa el final de la secuencia controlada inversa.
size Cuenta el número de elementos.
swap Intercambia el contenido de dos contenedores.
Operator Descripción
array::operato Reemplaza la secuencia controlada.
r=
array::operato Obtiene acceso a un elemento en una posición
r[] especificada.
NOTA
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,
C++Copiar
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.
Requisitos
Encabezado: <array>
Espacio de nombres: std
array::array
Construye un objeto de matriz.
array();
array(const array& right);
Parámetros
right
Objeto o intervalo que se va a insertar.
NOTA
El constructor predeterminado array() deja la secuencia controlada sin
inicializar (o inicializada de forma predeterminada). Se usa para especificar
una secuencia controlada sin inicializar.
El constructor de copias array(const array& right) inicializa la secuencia
controlada con la secuencia [[Link](), [Link]()). Se usa para
especificar una secuencia controlada inicial que es una copia de la secuencia
controlada por el objeto de matriz right.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
Myarray c1(c0);
// display contents " 0 1 2 3"
for (const auto& it : c1)
{
std::cout << " " << it;
}
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
0 1 2 3
array::assign
Obsoleto en C++11, se reemplazó por fill. Reemplaza todos los elementos.
array::at
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á.
NOTA
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
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display odd elements " 1 3"
std::cout << " " << [Link](1);
std::cout << " " << [Link](3);
std::cout << std::endl;
return (0);
}
array::back
Obtiene acceso al último elemento.
reference back();
constexpr const_reference back() const;
NOTA
Las funciones miembro devuelven una referencia al último elemento de la
secuencia controlada, que no debe estar vacío.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display last element " 3"
std::cout << " " << [Link]();
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
3
array::begin
Designa el principio de la secuencia controlada.
iterator begin() noexcept;
const_iterator begin() const noexcept;
NOTA
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
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::iterator it2 = [Link]();
std::cout << " " << *it2;
std::cout << std::endl;
return (0);
}
OutputCopiar
0 1 2 3
0
array::cbegin
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()).
NOTA
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. Por lo general, se usa
junto con la palabra clave de deducción de tipos auto, como se muestra en el
ejemplo siguiente. En el ejemplo se considera que Container es un
contenedor modificable (distinto de const) de cualquier naturaleza que
admite begin() y cbegin().
auto i1 = [Link]();
// i1 is Container<T>::iterator
auto i2 = [Link]();
// i2 is Container<T>::const_iterator
array::cend
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.
NOTA
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. Por lo general, se usa
junto con la palabra clave de deducción de tipos auto, como se muestra en el
ejemplo siguiente. En el ejemplo se considera que Container es un
contenedor modificable (distinto de const) de cualquier naturaleza que
admite end() y cend().
auto i1 = [Link]();
// i1 is Container<T>::iterator
auto i2 = [Link]();
// i2 is Container<T>::const_iterator
El valor devuelto por cend no se debe desreferenciar.
array::const_iterator
El tipo de un iterador constante para la secuencia controlada.
typedef implementation-defined const_iterator;
NOTA
El tipo describe un objeto que puede actuar como un iterador de acceso
aleatorio constante para la secuencia controlada.
Ejemplo
#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 = [Link]();
it1 != [Link]();
++it1) {
std::cout << " " << *it1;
}
std::cout << std::endl;
// display first element " 0"
MyArray::const_iterator it2 = [Link]();
std::cout << "it2:";
std::cout << " " << *it2;
std::cout << std::endl;
return (0);
}
Output
it1: 0 1 2 3
it2: 0
array::const_pointer
El tipo de un puntero constante a un elemento.
typedef const Ty *const_pointer;
NOTA
El tipo describe un objeto que puede actuar como un puntero constante a
elementos de la secuencia.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::const_pointer ptr = &*[Link]();
std::cout << " " << *ptr;
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
0
array::const_reference
El tipo de una referencia constante a un elemento.
typedef const Ty& const_reference;
NOTA
El tipo describe un objeto que puede actuar como referencia constante a un
elemento de la secuencia controlada.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::const_reference ref = *[Link]();
std::cout << " " << ref;
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
0
array::const_reverse_iterator
El tipo de un iterador invertido constante para la secuencia controlada.
typedef std::reverse_iterator<const_iterator>
const_reverse_iterator;
NOTA
El tipo describe un objeto que puede actuar como un iterador inverso
constante para la secuencia controlada.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display last element " 3"
Myarray::const_reverse_iterator it2 = [Link]();
std::cout << " " << *it2;
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
3
array::crbegin
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.
NOTA
Con el valor devuelto de crbegin, el objeto de matriz no se puede modificar.
Ejemplo
#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 = [Link]( );
cout << "The first element of array is "
<< *v1_Iter << "." << endl;
v1_rIter = [Link]( );
cout << "The first element of the reversed array is "
<< *v1_rIter << "." << endl;
}
Output
The first element of array is 1.
The first element of the reversed array is 2.
array::crend
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).
NOTA
crendse utiliza con una matriz invertida tal como se usa array::cend 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
#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 = [Link]( ) ; v1_rIter != [Link]( ) ;
v1_rIter++ )
cout << *v1_rIter << endl;
}
Output
2
1
array::data
Obtiene la dirección del primer elemento.
Ty *data();
const Ty *data() const;
NOTA
Las funciones miembro devuelven la dirección del primer elemento de la
secuencia controlada.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::pointer ptr = [Link]();
std::cout << " " << *ptr;
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
0
array::difference_type
El tipo de una distancia con signo entre dos elementos.
typedef std::ptrdiff_t difference_type;
NOTA
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
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display distance first-last " -4"
Myarray::difference_type diff = [Link]() - [Link]();
std::cout << " " << diff;
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
-4
array::empty
Comprueba si no hay ningún elemento presente.
constexpr bool empty() const;
NOTA
La función miembro devuelve true solo si N == 0.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display whether c0 is empty " false"
std::cout << std::boolalpha << " " << [Link]();
std::cout << std::endl;
std::array<int, 0> c1;
// display whether c1 is empty " true"
std::cout << std::boolalpha << " " << [Link]();
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
false
true
array::end
Designa el final de la secuencia controlada.
reference end();
const_reference end() const;
NOTA
Las funciones miembro devuelven un iterador de acceso aleatorio que
apunta inmediatamente después del final de la secuencia.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display last element " 3"
Myarray::iterator it2 = [Link]();
std::cout << " " << *--it2;
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
3
array::fill
Borra una matriz y copia los elementos especificados en la matriz vacía.
void fill(const Type& val);
Parámetros
val
Valor del elemento que se va a insertar en la matriz.
Comentarios
fill reemplaza cada elemento de la matriz por el valor especificado.
Ejemplo
#include <array>
#include <iostream>
int main()
{
using namespace std;
array<int, 2> v1 = { 1, 2 };
cout << "v1 = ";
for (const auto& it : v1)
{
std::cout << " " << it;
}
cout << endl;
[Link](3);
cout << "v1 = ";
for (const auto& it : v1)
{
std::cout << " " << it;
}
cout << endl;
}
array::front
Obtiene acceso al primer elemento.
reference front();
constexpr const_reference front() const;
NOTA
Las funciones miembro devuelven una referencia al primer elemento de la
secuencia controlada, que no debe estar vacío.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
std::cout << " " << [Link]();
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
0
array::iterator
El tipo de un iterador para la secuencia controlada.
typedef implementation-defined iterator;
NOTA
El tipo describe un objeto que puede actuar como un iterador de acceso
aleatorio de la secuencia controlada.
Ejemplo
#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 = [Link]();
it1 != [Link]();
++it1) {
std::cout << " " << *it1;
}
std::cout << std::endl;
// display first element " 0"
MyArray::iterator it2 = [Link]();
std::cout << "it2:";
std::cout << " " << *it2;
std::cout << std::endl;
return (0);
}
Output
it1: 0 1 2 3
it2: 0
array::max_size
Cuenta el número de elementos.
constexpr size_type max_size() const;
NOTA
La función miembro devuelve N.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display (maximum) size " 4"
std::cout << " " << c0.max_size();
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
4
array::operator[]
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á.
NOTA
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.
También hay una función no miembro get disponible para obtener una
referencia a un elemento de array.
Ejemplo
#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 (const auto& it : c0)
{
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);
}
Output
0 1 2 3
1 3
array::operator=
Reemplaza la secuencia controlada.
array<Value> operator=(array<Value> right);
Parámetros
right
Contenedor que se va a copiar.
NOTA
El operador miembro asigna cada elemento de right al elemento
correspondiente de la secuencia controlada y luego devuelve *this. Se usa
para reemplazar la secuencia controlada por una copia de la secuencia
controlada de right.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
Myarray c1;
c1 = c0;
// display copied contents " 0 1 2 3"
// display contents " 0 1 2 3"
for (auto it : c1)
{
std::cout << " " << it;
}
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
0 1 2 3
array::pointer
El tipo de un puntero a un elemento.
typedef Ty *pointer;
NOTA
El tipo describe un objeto que puede actuar como un puntero a elementos de
la secuencia.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::pointer ptr = &*[Link]();
std::cout << " " << *ptr;
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
0
array::rbegin
Designa el principio de la secuencia controlada inversa.
reverse_iterator rbegin()noexcept;
const_reverse_iterator rbegin() const noexcept;
NOTA
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
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display last element " 3"
Myarray::const_reverse_iterator it2 = [Link]();
std::cout << " " << *it2;
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
3
array::reference
El tipo de una referencia a un elemento.
typedef Ty& reference;
NOTA
El tipo describe un objeto que puede actuar como referencia a un elemento
de la secuencia controlada.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::reference ref = *[Link]();
std::cout << " " << ref;
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
0
array::rend
Designa el final de la secuencia controlada inversa.
reverse_iterator rend()noexcept;
const_reverse_iterator rend() const noexcept;
NOTA
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
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::const_reverse_iterator it2 = [Link]();
std::cout << " " << *--it2;
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
0
array::reverse_iterator
El tipo de un iterador invertido para la secuencia controlada.
typedef std::reverse_iterator<iterator> reverse_iterator;
NOTA
El tipo describe un objeto que puede actuar como un iterador inverso para la
secuencia controlada.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display last element " 3"
Myarray::reverse_iterator it2 = [Link]();
std::cout << " " << *it2;
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
3
array::size
Cuenta el número de elementos.
constexpr size_type size() const;
NOTA
La función miembro devuelve N.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display size " 4"
std::cout << " " << [Link]();
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
4
array::size_type
El tipo de una distancia sin signo entre dos elementos.
typedef std::size_t size_type;
NOTA
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
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display distance last-first " 4"
Myarray::size_type diff = [Link]() - [Link]();
std::cout << " " << diff;
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
4
array::swap
Intercambia el contenido de esta matriz con otra matriz.
void swap(array& right);
Parámetros
right
Matriz con la que se va a intercambiar el contenido.
NOTA
La función miembro intercambia las secuencias controladas entre *this y
right. Realiza asignaciones de elementos y llamadas de constructores
proporcionales a N.
También hay una función no miembro swap disponible para intercambiar dos
array instancias.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
Myarray c1 = { 4, 5, 6, 7 };
[Link](c1);
// display swapped contents " 4 5 6 7"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
swap(c0, c1);
// display swapped contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
4 5 6 7
0 1 2 3
array::value_type
El tipo de un elemento.
typedef Ty value_type;
NOTA
El tipo es un sinónimo del parámetro de plantilla Ty.
Ejemplo
#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 (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
Myarray::value_type val = it;
std::cout << " " << val;
}
std::cout << std::endl;
return (0);
}
Output
0 1 2 3
0 1 2 3