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 ++ 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()