共用方式為


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) 並初始化向量。

前兩個建構函式會指定空的初始向量。 第二個建構函式會明確指定要使用的配置器類型 (Al)。

第三個建構函式會指定類別 Type 之指定數目 (Count) 的項目重複預設值。

第四及第五個建構函式指定 Val 值的 (Count) 元素數的重複。

第六個建構函式會指定向量 Right 的複本。

第七個建構函式會移動向量 Right。

第八個建構函式使用 initializer_list 來指定元素。

第九個和第十個建構函式會複製向量的範圍 [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 類別

標準樣板程式庫