Sdílet prostřednictvím


vector::vector

Sestaví vektor určité velikosti, s elementy s konkrétní hodnotou, s konkrétním alokátorem nebo jako kopii celého existujícího vektoru nebo jeho části.Elementy jsou uloženy v bloku souvislé paměti a přidělení paměti jsou spravována tak, že přidělení výchozí nebo vlastní přidělení, který zadáte.

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     ); 

Parametry

Parametr

Popis

Al

Třída alokátoru, která se má použít s tímto objektem.Metoda get_allocator vrátí třídu alokátoru pro objekt.

Count

Počet prvků ve vytvořeném vektoru.

Val

Hodnota prvků v sestaveném vektoru.

Right

Vektor, jehož bude vytvořený vektor kopií.

First

Pozice prvního prvku v rozsahu od prvků, které mají být zkopírována.

Last

Pozice prvního prvku mimo oblast prvků, které mají být zkopírována.

IList

Initializer_list, obsahující prvky, které se má kopírovat.

Poznámky

Všechny konstruktory ukládají objekt alokátoru (Al) a inicializují vektor.

První dva konstruktory určují prázdný počáteční vektor.Druhý explicitně určuje typ alokátoru (Al), který bude použit.

Třetí konstruktor určuje opakování zadaného počtu (Count) prvků výchozí hodnoty pro třídu Type.

Zadejte konstruktory čtvrtého a pátého opakování (Count) elementy hodnoty Val.

Šestý konstruktor určuje kopii vektoru Right.

Sedmý konstruktor přesune vektor Right.

Osmý konstruktor používá k určení prvků objekt initializer_list.

Devátý a desátý konstruktor zkopíruje rozsah [First, Last) vektoru.

Příklad

// 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;
}
  

Požadavky

Záhlaví: < vektoru >

Obor názvů: std

Viz také

Referenční dokumentace

vector – třída

Standardní knihovna šablon