vector::vector

特定のサイズ、特定の値の要素、または特定のアロケーターを持つベクターを構築します。あるいは他のベクターの全体または一部のコピーとして構築します。 要素は連続するメモリ ブロックに格納され、メモリの割り当ては既定のアロケーターまたは指定されたカスタム アロケーターによって管理されます。

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

パラメーター

パラメーター

説明

Al

このオブジェクトに対して使用するアロケーター クラス。 get_allocator は、オブジェクトのアロケーター クラスを返します。

Count

構築されたベクター内の要素の数。

Val

構築されたベクターの要素の値。

Right

構築されたベクターがコピーになる元のベクター。

First

コピーする要素範囲内の最初の要素の位置。

Last

コピーする要素範囲を超える最初の要素の位置。

IList

コピーする要素を含む initializer_list。

解説

すべてのコンストラクターが、アロケーター オブジェクト (Al) を格納し、ベクターを初期化します。

最初の 2 つのコンストラクターは、空の初期ベクターを指定します。 2 番目のコンストラクターは、使用するアロケーターの型 (Al) を明示的に指定します。

3 番目のコンストラクターは、Type クラスの、指定された数 (Count) の既定値の要素を繰り返すことを指定します。

4 番目と 5 番目のコンストラクターは、値 Count の Val 個の要素を繰り返すことを指定します。

6 番目のコンストラクターは、ベクター Right のコピーを指定します。

7 番目のコンストラクターは、ベクター Right を移動します。

8 番目のコンストラクターは、initializer_list を使用して要素を指定します。

9 番目と 10 番目のコンストラクターは、ベクターの範囲 (First、Last) をコピーします。

使用例

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

必要条件

ヘッダー: <vector>

名前空間: std

参照

関連項目

vector クラス

標準テンプレート ライブラリ