assign

提供:cppreference.com
移動: 案内, 検索

文法:

    #include <vector>
    void assign( size_type num, const T& val );
    void assign( input_iterator start, input_iterator end );

assign()関数は対象のベクタにstartからendまでの値またはvalnum個のコピーを与えます。

この関数はベクタの元の内容を破壊します。

例えば、次のコードは整数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

個人用ツール
名前空間
変種
操作
案内
ツールボックス
他の言語