vector::vector
Construit un vecteur de taille spécifique ou contenant des éléments de valeurs spécifiques, ou contenant un allocateur spécifique, ou comme copie complète ou partielle d'un autre vecteur. Les éléments sont stockés dans un bloc contigu de mémoire et les allocations de mémoire sont gérées par l'allocateur par défaut ou par un allocateur personnalisé que vous fournissez.
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 );
Paramètres
Paramètre |
Description |
Al |
Classe allocator à utiliser avec cet objet. get_allocator retourne la classe allocator de l'objet. |
Count |
Nombre d'éléments figurant dans le vecteur construit. |
Val |
Valeur des éléments contenus dans le vecteur construit. |
Right |
Vecteur dont le vecteur construit doit être une copie. |
First |
Position du premier élément dans la plage d'éléments à copier. |
Last |
Position du premier élément suivant la fin de la plage d'éléments à copier. |
IList |
Objet initializer_list contenant les éléments à copier. |
Notes
Tous les constructeurs stockent un objet allocateur (Al) et initialisent le vecteur.
Les deux premiers constructeurs spécifient un vecteur initial vide. En outre, le deuxième spécifie explicitement le type d'allocateur (Al) à utiliser.
Le troisième constructeur spécifie une répétition d'un nombre donné (Count) d'éléments de la valeur par défaut pour la classe Type.
Les quatrième et cinquième constructeurs spécifient une répétition des (Count) éléments ayant la valeur Val.
Le sixième constructeur spécifie une copie du vecteur Right.
Le septième constructeur déplace le vecteur Right.
Le huitième constructeur utilise initializer_list pour spécifier les éléments.
Les neuvième et dixième constructeurs copient la plage [First, Last) du vecteur.
Exemple
// 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;
}
Configuration requise
En-tête : <vector>
Espace de noms : std