原型:
#include <vector>
void assign( size_type num, const TYPE& val );
void assign( input_iterator start, input_iterator end );
函数assign()将区间[start, end)中的值或num个val的副本赋值给当前的vector.
此函数将销毁先前vector中的内容.
例如, 下面的代码使用assign()将10个整数值42的副本赋值给vector:
vector<int> v;
v.assign( 10, 42 );
for( vector<int>::size_type i = 0; i < v.size(); i++ )
{
cout << v[i] << " ";
}
cout << endl;
上面的代码将产生如下输出:
42 42 42 42 42 42 42 42 42 42
下面的例子展示了如何使用assign()拷贝vector:
vector<int> v1;
for( int i = 0; i < 10; i++ )
{
v1.push_back( i );
}
vector<int> v2;
v2.assign( v1.begin(), v1.end() );
for( vector<int>::size_type i = 0; i < v2.size(); i++ ) {
cout << v2[i] << " ";
}
cout << endl;
运行后产生如下输出:
0 1 2 3 4 5 6 7 8 9