vector :: assign()函数,以及C ++ STL中的示例

C ++ vector :: assign()函数

vector :: assign()“ vector”标头的库函数,用于初始化矢量或将内容分配给矢量,将新内容分配给矢量,更新现有内容,并调整矢量的大小根据内容。

注意:要使用向量,请包含<vector>标头。

vector :: assign()函数的语法

    vector::assign(iterator_first, iterator_last);
    vector::assign(size_type n, value_type value);

参数:

在类型1的情况下, iterator_first,iterator_last –是序列的第一个和最后一个迭代器,我们将为其分配向量。
对于类型2: n –是向量的大小,而value –是要分配的常数。

返回值: void –在两种情况下均不返回任何内容。

示例

    Input:
    vector<int> v1;
    vector<int> v2;
    
    //分配
    v1.assign(5, 100);
    v2.assign(v1.begin(), v1.end());

    Output:
    //如果我们打印值
    v1: 100 100 100 100 100
    v2: 100 100 100 100 100

C ++程序演示vector :: assign()函数的示例

//C ++ STL程序演示示例
//vector :: assign()函数

#include <iostream>
#include <vector>
using namespace std;

int main(){
    //声明向量
    vector<int> v1;
    vector<int> v2;
    vector<int> v3;

    //用于分配向量的数组
    int arr[] = { 10, 20, 30, 40, 50 };

    //分配 vectors
    //分配 v1 with 5 elements and 100 as default value
    v1.assign(5, 100);

    //分配 v1 with array
    v2.assign(arr + 0, arr + 5);

    //分配 v3 with vector v2
    v3.assign(v2.begin(), v2.end());

    //插入向量
    cout << "v1: ";
    for (int x : v1)
        cout << x << " ";
    cout << endl;

    cout << "v2: ";
    for (int x : v2)
        cout << x << " ";
    cout << endl;

    cout << "v3: ";
    for (int x : v3)
        cout << x << " ";
    cout << endl;

    return 0;
}

输出结果

v1: 100 100 100 100 100
v2: 10 20 30 40 50
v3: 10 20 30 40 50

参考:C ++ vector :: assign()