C++11中,assign函数是用于给容器赋值的函数,它的语法如下:

void assign (initializer_list<value_type> il);
void assign (size_type n, const value_type& val);
template <class InputIterator>
void assign (InputIterator first, InputIterator last);

其中,第一个重载形式接受一个initializer_list类型的参数,将容器中的元素替换为initializer_list中的元素。

第二个重载形式接受一个整数n和一个值val,将容器中的元素替换为nval值。

第三个重载形式接受两个迭代器firstlast,将容器中的元素替换为[first, last)区间内的元素。

以下是一个示例程序:

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector<int> v1{1, 2, 3, 4, 5};
    vector<int> v2;

    // 将v1中的元素赋值给v2
    v2.assign(v1.begin(), v1.end());

    // 输出v2中的元素
    for (auto i : v2) {
        cout << i << " ";
    }
    cout << endl;

    // 将v2中的元素赋值为3个10
    v2.assign(3, 10);

    // 输出v2中的元素
    for (auto i : v2) {
        cout << i << " ";
    }
    cout << endl;

    // 将v2中的元素赋值为{6, 7, 8}
    v2.assign({6, 7, 8});

    // 输出v2中的元素
    for (auto i : v2) {
        cout << i << " ";
    }
    cout << endl;

    return 0;
}

输出结果为:

1 2 3 4 5
10 10 10
6 7 8

标签: 体育


原文地址: https://gggwd.com/t/topic/b0wx 著作权归作者所有。请勿转载和采集!