0% encontró este documento útil (0 votos)
12 vistas38 páginas

STL Array

Librerias de C++ para el manejo de arreglos

Cargado por

Lourdes Guardado
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas38 páginas

STL Array

Librerias de C++ para el manejo de arreglos

Cargado por

Lourdes Guardado
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

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

También podría gustarte