Biblioteca C ++ - <vector>

Introducción

Los vectores son contenedores de secuencia que pueden cambiar de tamaño. El contenedor es un objeto que contiene datos del mismo tipo. Los contenedores de secuencia almacenan elementos estrictamente en secuencia lineal.

Vector almacena elementos en ubicaciones de memoria contiguas y permite el acceso directo a cualquier elemento mediante el operador de subíndice []. A diferencia de la matriz, el vector puede contraerse o expandirse según sea necesario en tiempo de ejecución. El almacenamiento del vector se gestiona automáticamente.

Para admitir la funcionalidad de contracción y expansión en tiempo de ejecución, el contenedor vectorial puede asignar algo de almacenamiento adicional para adaptarse a un posible crecimiento, por lo que el contenedor tiene una capacidad real mayor que el tamaño. Por lo tanto, en comparación con el arreglo, el vector consume más memoria a cambio de la capacidad de administrar el almacenamiento y crecer dinámicamente de manera eficiente.

Los vectores de tamaño cero también son válidos. En ese caso, vector.begin () y vector.end () apuntan a la misma ubicación. Pero el comportamiento de llamar a front () o back () no está definido.

Definición

A continuación se muestra la definición de std :: vector del archivo de encabezado <vector>

template < class T, class Alloc = allocator<T> > class vector;

Parámetros

  • T - Tipo de elemento contenido.

    T puede ser sustituido por cualquier otro tipo de datos, incluido el tipo definido por el usuario.

  • Alloc - Tipo de objeto asignador.

    De forma predeterminada, se utiliza la plantilla de clase de asignador, que define el modelo de asignación de memoria más simple y es independiente del valor.

Tipos de miembros

Los siguientes tipos de miembros se pueden utilizar como parámetros o tipos de retorno por funciones miembro.

No Señor. Tipos de miembros Definición
1 tipo de valor T (primer parámetro de la plantilla)
2 allocator_type Alloc (segundo parámetro de la plantilla)
3 referencia tipo de valor&
4 referencia_const const value_type &
5 puntero tipo de valor*
6 puntero_const const value_type *
7 iterador un iterador de acceso aleatorio a value_type
8 const_iterator un iterador de acceso aleatorio a const value_type
9 reverse_iterator std :: reverse_iterator <iterador>
10 const_reverse_iterator std :: reverse_iterator <const_iterator>
11 tipo de letra size_t
12 tipo_diferencia ptrdiff_t

Funciones de <vector>

A continuación se muestra una lista de todos los métodos del encabezado <vector>.

Constructores

No Señor. Método y descripción
1 vector :: vector constructor predeterminado

Construye un contenedor vacío, sin elementos.

2 vector :: constructor de relleno vectorial

Construye un contenedor con n elementos y asigna val a cada elemento.

3 vector :: constructor de rango vectorial

Construye un contenedor con tantos elementos en el rango del primero al último.

4 vector :: constructor de copia de vector

Construye un contenedor con copia de cada elemento presente en el contenedor x existente .

5 vector :: vector move constructor

Construye el contenedor con el contenido de otro usando semántica de movimiento .

6 vector :: constructor de lista de inicializador de vector

Construye un contenedor a partir de la lista de inicializadores.

Incinerador de basuras

No Señor. Método y descripción
1 vector :: ~ vector

Destruye el contenedor al desasignar la memoria del contenedor.

Funciones de miembro

No Señor. Método y descripción
1 vector :: asignar versión de relleno

Asigne nuevos valores a los elementos vectoriales reemplazando los antiguos.

2 vector :: asignar versión de rango

Asigne nuevos valores a los elementos vectoriales reemplazando los antiguos.

3 vector :: asignar la versión de la lista de inicializadores

Asigne nuevos valores a los elementos vectoriales reemplazando los antiguos.

4 vector :: en

Devuelve una referencia al elemento presente en la ubicación n del vector.

5 vector :: volver

Devuelve una referencia al último elemento del vector.

6 vector :: comenzar

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

7 vector :: capacidad

Devuelve el tamaño del almacenamiento asignado, expresado en términos de elementos.

8 vector :: cbegin

Devuelve un iterador de acceso aleatorio constante que apunta al comienzo del vector.

9 vector :: cend

Devuelve un iterador de acceso aleatorio constante que apunta al comienzo del vector.

10 vector :: claro

Destruye el vector eliminando todos los elementos del vector y establece el tamaño del vector en cero.

11 vector :: crbegin

Devuelve un iterador inverso constante que apunta al inicio inverso del contenedor.

12 vector :: crend

Devuelve un iterador inverso constante que apunta al extremo inverso del vector.

13 vector :: datos

Devuelve un puntero al primer elemento del contenedor de vectores.

14 vector :: emplazamiento

Extiende el contenedor insertando un nuevo elemento en la posición .

15 vector :: emplace_back

Inserta un nuevo elemento al final del vector.

dieciséis vector :: vacío

Prueba si el vector está vacío o no.

17 vector :: fin

Devuelve un iterador que apunta al elemento pasado-final en el contenedor de vectores.

18 vector :: borrar versión de posición

Elimina un solo elemento del vector.

19 vector :: borrar versión de rango

Elimina un solo elemento del vector.

20 vector :: frente

Devuelve una referencia al primer elemento del vector.

21 vector :: get_allocator

Devuelve un asignador asociado con el vector.

22 vector :: insertar versión de elemento único

Extiende el iterador insertando un nuevo elemento en la posición.

23 vector :: insertar versión de relleno

Extiende el vector insertando un nuevo elemento en el contenedor.

24 vector :: insertar versión de rango

Extiende el vector insertando un nuevo elemento en el contenedor.

25 vector :: insertar versión de movimiento

Extiende el vector insertando un nuevo elemento en el contenedor.

26 vector :: insertar la versión de la lista de inicializadores

Extiende el vector insertando un nuevo elemento en el contenedor.

27 vector :: tamaño_máximo

Devuelve el número máximo de elementos que puede contener un vector.

28 vector :: operador = copiar versión

Asigne nuevos contenidos al vector reemplazando los antiguos y modifique el tamaño si es necesario.

29 vector :: operador = mover versión

Asigne nuevos contenidos al vector reemplazando los antiguos y modifique el tamaño si es necesario.

30 vector :: operator = versión de la lista de inicializadores

Asigne nuevos contenidos al vector reemplazando los antiguos y modifique el tamaño si es necesario.

31 vector :: operador []

Devuelve una referencia al elemento presente en la ubicación n .

32 vector :: pop_back

Elimina el último elemento del vector y reduce el tamaño del vector en uno.

33 vector :: push_back

Inserta un nuevo elemento al final del vector y aumenta el tamaño del vector en uno.

34 vector :: rbegin

Devuelve un iterador inverso que apunta al último elemento del vector.

35 vector :: rend

Devuelve un iterador inverso que apunta al extremo inverso del vector.

36 vector :: reserva

Las solicitudes de reserva de capacidad vectorial deben ser al menos suficientes para contener n elementos.

37 vector :: redimensionar

Cambia el tamaño del vector.

38 vector :: shrink_to_fit

Solicita al contenedor que reduzca su capacidad para adaptarse a su tamaño.

39 vector :: tamaño

Devuelve el número de elementos presentes en el vector.

40 vector :: intercambio

Intercambia el contenido del vector con el contenido del vector x .

Funciones sobrecargadas de no miembros

No Señor. Método y descripción
1 operador ==

Prueba si dos vectores son iguales o no.

2 operador! =

Prueba si dos vectores son iguales o no.

3 operador <

Prueba si el primer vector es menor que el otro o no.

4 operador <=

Comprueba si el primer vector es menor o igual a otro o no.

5 operador>

Prueba si el primer vector es mayor que otro o no.

6 operador> =

Comprueba si el primer vector es mayor o igual que otro o no.

7 intercambiar

Intercambia el contenido de dos vectores.