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. |