Compartir a través de


vector (Clase)

La clase vector STL es una plantilla de clase que almacena los elementos de un tipo determinado en una organización lineal y permite el acceso aleatorio rápido a cualquier elemento. La clase vector es el contenedor más adecuado para una secuencia cuando el rendimiento de acceso aleatorio es importante. Cuando no esté seguro de qué tipo de contenedor de secuencias utilizar, emplee el vector.

template < 
   class Type,  
   class Allocator = allocator<Type>  
> 
class vector

Parámetros

  • Tipo
    Tipo del elemento que se almacenará en el vector

  • Allocator
    Tipo del objeto que asigna y desasigna memoria para el vector. Este argumento es opcional y su valor predeterminado es std::allocator*<Type>.*

Comentarios

Los vectores permiten inserciones y eliminaciones de tiempo constante al final de la secuencia. Insertar o eliminar elementos en medio de un vector requiere tiempo lineal. El rendimiento del contenedor clase deque es superior respecto a las inserciones y eliminaciones al principio y al final de una secuencia. El contenedor clase lista es superior respecto a las inserciones y eliminaciones en cualquier ubicación dentro de una secuencia.

Se produce una reasignación del vector cuando una función miembro debe aumentar el número de elementos contenidos en el vector más allá de su capacidad de almacenamiento actual. Otras inserciones y eliminaciones pueden modificar varias direcciones de almacenamiento dentro de la secuencia. En todos estos casos, los iteradores y referencias que apuntan a partes alteradas de la secuencia dejan de ser válidos. Si no se produce ninguna reasignación, solo los iteradores y referencias antes del punto de inserción o eliminación siguen siendo válidos.

La clase vector<bool> es una especialización completa del vector de plantilla de clase para los elementos de tipo booleano, con un asignador para el tipo subyacente que usa la especialización.

La clase de referencia vector<bool> es una clase anidada cuyos objetos pueden incluir referencias a elementos (bits únicos) dentro de un objeto vector<bool>.

Miembros

Constructores

vector

Construye un vector de un tamaño determinado o con elementos de un valor determinado, o con un allocator específico, o como una copia de algún otro vector.

Typedefs

allocator_type

Tipo de allocator usado por el vector.

const_iterator

Tipo que representa un iterador de acceso aleatorio de solo lectura.

const_pointer

Tipo que representa un puntero de solo lectura a un elemento de un vector.

const_reference

Referencia a un elemento const almacenado en un vector para leer y realizar operaciones const.

const_reverse_iterator

Iterador inverso de solo lectura.

difference_type

Tipo que representa la diferencia entre las direcciones de dos elementos en un vector.

iterator

Tipo que proporciona un iterador de acceso aleatorio que puede leer o modificar cualquier elemento de un vector.

puntero

Tipo que representa un puntero a un elemento en un vector.

reference

Tipo que representa una referencia a un elemento almacenado en un vector.

reverse_iterator

Tipo que representa un iterador reverse_iterator.

size_type

Tipo que representa el número de elementos en un vector.

value_type

Tipo que representa el tipo de datos almacenado en un vector.

Funciones miembro

assign

Reemplaza los elementos especificados con copias de los nuevos elementos.

at

Devuelve una referencia al elemento en una ubicación especificada en el vector y provoca una excepción out_of_range si el índice es menor que cero o mayor o igual que size().

back

Devuelve una referencia al último elemento del vector.

begin

Devuelve un iterador de acceso aleatorio al primer elemento del vector.

capacity

Devuelve el número de elementos que puede contener el vector sin asignar más espacio de almacenamiento.

cbegin

Devuelve un iterador const de acceso aleatorio al primer elemento del vector.

cend

Devuelve un iterador const de acceso aleatorio que apunta a uno más allá del final del vector.

crbegin

Devuelve un iterador const reverse_iterator al último elemento en un vector.

crend

Devuelve un iterador const reverse_iterator que apunta a uno antes del primer elemento del vector.

clear

Borra los elementos del vector.

datos

Devuelve un puntero al primer elemento del vector.

emplace

Inserta en una posición especificada del vector un elemento construido en contexto.

emplace_back

Agrega al final del vector un elemento construido en contexto.

empty

Comprueba si el vector contiene algún elemento.

end

Devuelve un iterador de acceso aleatorio que apunta a uno más allá del último elemento del vector.

erase

Quita un elemento o un intervalo de elementos en un vector a partir de posiciones especificadas.

front

Devuelve una referencia al primer elemento de un vector.

get_allocator

Devuelve el allocator utilizado por el vector.

insert

Inserta uno o varios elementos en el vector en una posición especificada.

max_size

Devuelve la longitud máxima del vector.

pop_back

Elimina el elemento situado al final del vector.

push_back

Agrega un elemento al final del vector.

rbegin

Devuelve un iterador al primer elemento en un vector inverso.

rend

Devuelve un iterador reverse_iterator que apunta a uno antes del primer elemento.

reserve

Reserva una longitud mínima de almacenamiento para un objeto vectorial.

resize

Especifica un nuevo tamaño de un vector.

shrink_to_fit

Descarta el exceso de capacidad.

size

Devuelve el número de elementos del vector.

swap

Intercambia los elementos de dos vectores.

Operadores

operator[]

Devuelve una referencia al elemento vector en una posición especificada.

operador =

Reemplaza los elementos del vector con una copia de otro vector.

Requisitos

Encabezado: <vector>

Espacio de nombres: std

Vea también

Referencia

Seguridad para subprocesos en la biblioteca estándar de C++

Biblioteca de plantillas estándar

Otros recursos

miembros de vector

miembros de <vector>