Espacios de nombres
Variantes
Acciones

std::array

De cppreference.com
< cpp‎ | container
 
 
 
std::array
Las funciones miembro
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Elemento acceso
Original:
Element access
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Los iteradores
Original:
Iterators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Capacidad
Original:
Capacity
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Modificadores
Original:
Modifiers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Terceros funciones
Original:
Non-member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Clases de ayuda
Original:
Helper classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
Definido en la cabecera <array>
template<

    class T,
    std::size_t N

> struct array;
(desde C++11)

std::array es un contenedor que encapsula arrays de tamaño fijo.

Este contenedor es un tipo agregado con las mismas semánticas que una estructura que mantiene un This container is an aggregate type with the same semantics as a struct holding a array estilo C T[N] como su único miembro no estático. A diferencia de un array estilo C, no decae a T* automaticamente. Como tipo agregado, puede ser inicializado con inicialización agregada dados como mucho N inicializadores los cuales son convertibles a T: std::array<int, 3> a = {1,2,3};.

La estructura combina el rendimiento y la accesibilidad de un array estilo C con los beneficios de un contenedor estándar, tales como el conocimiento de su propio tamaño, soportando asignación, iteradores de acceso aleatorio, etc.

std::array satisface los requerimientos de Contenedor y ContenedorReversible. Con excepción de que un array construido por defecto no está vacio y que la complejidad de intercambio es lineal, satisface los requerimientos de Plantilla:rev inl y satisface parcialmente los requerimientos de ContenedorSecuencial.

Hay un caso especial para los arrays de longitud cero (N == 0). En tal caso, array.begin() == array.end(), el cual es un valor único. El efecto de llamar front() o back() en un array de tamaño cero no está definido.

Un array también puede ser usado como una tupla de N elementos del mismo tipo.

Contenido

[editar] Invalidación de iteradores

Como regla, iteradores a un array nunca son invalidados durante la vida del array. Hay que tomar nota, sin embargo, que durante swap, el iterador continuará apuntando al objeto del mismo array, y por consecuente cambiará su valor.

[editar] Tipos miembros

Tipo miembro Definición
value_type T [editar]
size_type size_t [editar]
difference_type ptrdiff_t [editar]
reference value_type& [editar]
const_reference const value_type& [editar]
pointer T*[editar]
const_pointer const T*[editar]
iterator RandomAccessIterator [editar]
const_iterator
Iterador constante de acceso aleatorio
Original:
Constant random access iterator
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
[editar]
reverse_iterator std::reverse_iterator<iterator> [editar]
const_reverse_iterator std::reverse_iterator<const_iterator> [editar]

[editar] Funciones miembro

Funciones miembro implícitamente definidas
(constructor)
(implícitamente declarado)
inicializa el array siguiendo las reglas de inicialización agregada (la inicialización por defecto puede resultar en valores indeterminados para T que no sean clases)
(función miembro público)
(destructor)
(implícitamente declarado)
destruye cada elemento del array
(función miembro público)
operator=
(implícitamente declarado)
sobrescribe cada elemento del array con el correspondiente elemento de otro array
(función miembro público)
Acceso a elementos
acceder al elemento especificado con comprobación de límites
Original:
access specified element with bounds checking
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]
acceder al elemento especificado
Original:
access specified element
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]
acceso al primer elemento
Original:
access the first element
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]
access the last element
(función miembro público) [editar]
(C++11)
dirigir el acceso a la matriz subyacente
Original:
direct access to the underlying array
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]
Iteradores
devuelve un iterador al principio
Original:
returns an iterator to the beginning
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]
devuelve un iterador hasta el final
Original:
returns an iterator to the end
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]
devuelve un iterador inverso al principio
Original:
returns a reverse iterator to the beginning
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]
devuelve un iterador inverso hasta el final
Original:
returns a reverse iterator to the end
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]
Capacidad
comprueba si el recipiente está vacío
Original:
checks whether the container is empty
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]
devuelve el número de elementos
Original:
returns the number of elements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]
devuelve el número máximo posible de elementos
Original:
returns the maximum possible number of elements
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]
Operaciones
llenar el recipiente con el valor especificado
Original:
fill the container with specified value
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]
intercambia los contenidos
Original:
swaps the contents
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]

[editar] Funciones no miembro

lexicográficamente compara los valores del array
Original:
lexicographically compares the values in the array
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(plantilla de función) [editar]
accesses an element of an array
(plantilla de función) [editar]
el algoritmo se especializa std::swap
Original:
specializes the std::swap algorithm
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(plantilla de función) [editar]

[editar] Clases auxiliares

obtiene el tamaño de un array
Original:
obtains the size of an array
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(especialización de plantilla de clase) [editar]
se obtiene el tipo de los elementos de array
Original:
obtains the type of the elements of array
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(especialización de plantilla de clase) [editar]

[editar] Deduction guides(desde C++17)

[editar] Ejemplo

#include <string>
#include <iterator>
#include <iostream>
#include <algorithm>
#include <array>
 
int main()
{
    // la construcción usa inicialización agregada
    std::array<int, 3> a1{ {1, 2, 3} }; // llaves dobles requeridas en C++11 (no en C++14)
    std::array<int, 3> a2 = {1, 2, 3};  // nunca requerido despues de =
    std::array<std::string, 2> a3 = { std::string("a"), "b" };
 
    // soporta las operaciones de contenedor
    std::sort(a1.begin(), a1.end());
    std::reverse_copy(a2.begin(), a2.end(), 
                      std::ostream_iterator<int>(std::cout, " "));
 
    std::cout << '\n';
 
    // soporta bucle de rangos for
    for(const auto& s: a3)
        std::cout << s << ' ';
}

Salida:

3 2 1 
a b

[editar] Ver también

Plantilla:cpp/experimental/dsc make arrayPlantilla:cpp/experimental/dsc to array