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