vector::assign

将指定元素替换为指定值或值范围的副本。

void assign(    size_type Count,    const Type& Val ); void assign(     initializer_list<Type> IList ); template<class InputIterator>    void assign(       InputIterator First,       InputIterator Last    );

参数

  • First
    要复制的元素范围内的第一个元素的位置。

  • Last
    要复制的元素范围外的第一个元素的位置。

  • Count
    要插入到矢量的元素的副本数。

  • Val
    插入到向量中的元素的值。

  • IList
    包含要插入的元素的 initializer_list。

备注

清除向量中的任何现有元素后,将原始向量中指定范围的值插入向量或将新元素或指定值的副本插入向量。

示例

/ vector_assign.cpp
// compile with: /EHsc
#include <vector>
#include <iostream>

int main()
{
    using namespace std;
    vector<int> v1, v2, v3;
    
    v1.push_back(10);
    v1.push_back(20);
    v1.push_back(30);
    v1.push_back(40);
    v1.push_back(50);

    cout << "v1 = ";
    for (auto& v : v1){
        cout << v << " ";
    }
    cout << endl;

    v2.assign(v1.begin(), v1.end());
    cout << "v2 = ";
    for (auto& v : v2){
        cout << v << " ";
    }
    cout << endl;

    v3.assign(7, 4);
    cout << "v3 = ";
    for (auto& v : v3){
        cout << v << " ";
    }
    cout << endl;

    v3.assign({ 5, 6, 7 });
    for (auto& v : v3){
        cout << v << " ";
    }
    cout << endl;
}

输出

v1 = 10 20 30 40 50
v2 = 10 20 30 40 50
v3 = 4 4 4 4 4 4 4
5 6 7

要求

标头:<vector>

命名空间: std

请参见

参考

vector 类

标准模板库