assign
提供:cppreference.com
文法:
#include <vector> void assign( size_type num, const T& val ); void assign( input_iterator start, input_iterator end );
assign()関数は対象のベクタにstartからendまでの値またはvalのnum個のコピーを与えます。
この関数はベクタの元の内容を破壊します。
例えば、次のコードは整数42の10個のコピーをベクタに与えるのにassign()を使っています:
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<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
関連トピック: insert, push_back, [] operator