vector::vector
Construye un vector de un tamaño determinado o con elementos de un valor determinado o con un asignador específico o como una copia de todo o de parte de algún otro vector. Los elementos se almacenan en un bloque de memoria contiguo y las asignaciones de memoria se administran mediante el asignador predeterminado o un asignador personalizado que usted proporcione.
vector( ); explicit vector( const Allocator& Al ); explicit vector( size_type Count ); vector( size_type Count, const Type& Val ); vector( size_type Count, const Type& Val, const Allocator& Al ); vector( const vector& Right ); vector( vector&& Right ); vector( initializer_list<Type> IList, const _Allocator& Al ); template<class InputIterator> vector( InputIterator First, InputIterator Last ); template<class InputIterator> vector( InputIterator First, InputIterator Last, const Allocator& Al );
Parámetros
Parámetro |
Descripción |
Al |
La clase de asignador que se usa con este objeto. get_allocator devuelve la clase de asignador del objeto. |
Count |
Número de elementos del vector construido. |
Val |
Valor de los elementos del vector construido. |
Right |
Vector del que el vector construido va a ser una copia. |
First |
Posición del primer elemento en el intervalo de elementos que se va a copiar. |
Last |
Posición del primer elemento más allá del intervalo de elementos que se va a copiar. |
IList |
initializer_list que contiene los elementos que se van a copiar. |
Comentarios
Todos los constructores almacenan un objeto de asignador (Al) e inicializan el vector.
Los dos primeros constructores especifican un vector inicial vacío. El segundo especifica explícitamente el tipo de asignador (Al) que se va a utilizar.
El tercer constructor especifica una repetición de un número especificado (Count) de elementos del valor predeterminado para la clase Type.
Los constructores cuarto y quinto especifican una repetición de elementos (Count) de valor Val.
El sexto constructor especifica una copia del vector Right.
El séptimo constructor mueve el vector Right.
El octavo constructor utiliza una initializer_list para especificar los elementos.
Los constructores noveno y décimo copian el intervalo [First, Last) de un vector.
Ejemplo
// vector_ctor.cpp
// compile with: /EHsc
#include <vector>
#include <iostream>
int main()
{
using namespace std;
vector <int>::iterator v1_Iter, v2_Iter, v3_Iter, v4_Iter, v5_Iter, v6_Iter;
// Create an empty vector v0
vector <int> v0;
// Create a vector v1 with 3 elements of default value 0
vector <int> v1(3);
// Create a vector v2 with 5 elements of value 2
vector <int> v2(5, 2);
// Create a vector v3 with 3 elements of value 1 and with the allocator
// of vector v2
vector <int> v3(3, 1, v2.get_allocator());
// Create a copy, vector v4, of vector v2
vector <int> v4(v2);
// Create a new temporary vector for demonstrating copying ranges
vector <int> v5(5);
for (auto i : v5) {
v5[i] = i;
}
// Create a vector v6 by copying the range v5[_First, _Last)
vector <int> v6(v5.begin() + 1, v5.begin() + 3);
cout << "v1 =";
for (auto& v : v1){
cout << " " << v;
}
cout << endl;
cout << "v2 =";
for (auto& v : v2){
cout << " " << v;
}
cout << endl;
cout << "v3 =";
for (auto& v : v3){
cout << " " << v;
}
cout << endl;
cout << "v4 =";
for (auto& v : v4){
cout << " " << v;
}
cout << endl;
cout << "v5 =";
for (auto& v : v5){
cout << " " << v;
}
cout << endl;
cout << "v6 =";
for (auto& v : v6){
cout << " " << v;
}
cout << endl;
// Move vector v2 to vector v7
vector <int> v7(move(v2));
vector <int>::iterator v7_Iter;
cout << "v7 =";
for (auto& v : v7){
cout << " " << v;
}
cout << endl;
vector<int> v8{ { 1, 2, 3, 4 } };
for (auto& v : v8){
cout << " " << v ;
}
cout << endl;
}
Requisitos
Encabezado: <vector>
Espacio de nombres: std