c++11中 assign函数
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,将容器中的元素替换为n个val值。
第三个重载形式接受两个迭代器first和last,将容器中的元素替换为[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://www.cveoy.top/t/topic/b0wx 著作权归作者所有。请勿转载和采集!