vector::vector
Constrói um vetor de um tamanho específico ou com elementos de um valor específico ou com um alocador específico ou como uma cópia de todo ou parte de algum outro vetor. Elementos são armazenados em um bloco de memória contígua e alocações de memória são gerenciadas pelo alocador de padrão ou por um alocador personalizado que você fornecer.
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 |
Descrição |
Al |
A classe de alocador a ser usada com esse objeto. get_allocator retorna a classe do alocador do objeto. |
Count |
O número de elementos do vetor construído. |
Val |
O valor dos elementos do vetor construído. |
Right |
O vetor que o vetor construído deve ser uma cópia. |
First |
Posição do primeiro elemento no intervalo de elementos a serem copiados. |
Last |
Posição do primeiro elemento além do intervalo de elementos a serem copiados. |
IList |
O initializer_list que contém os elementos a serem copiados. |
Comentários
Todos os construtores armazenam um objeto de alocador (Al) e inicializar o vector.
Os primeiros dois construtores especificam um vetor inicial vazio. O segundo especifica explicitamente o tipo de alocador (Al) a ser usado.
O terceiro construtor Especifica uma repetição de um número especificado (Count) dos elementos do valor padrão para a classe Type.
Os construtores quarto e quinto especificam a repetição de (Count) elementos de valor Val.
O sexto construtor Especifica uma cópia do vetor Right.
O construtor sétimo move o vetor Right.
O oitavo construtor usa initializer_list para especificar os elementos.
Os construtores nono e décimo copiar do intervalo [First, Last) de um vetor.
Exemplo
// 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
Cabeçalho: <vector>
Namespace: std