Partager via


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

Voir aussi

Référence

vector, classe

Bibliothèque STL (Standard Template Library)