次の方法で共有


vector::insert

指定した位置にあるベクター要素に要素の一部またはスコープ挿入します。

iterator insert(
   const_iterator _Where,
   const Type& _Val
);
iterator insert(
   const_iterator _Where,
   Type&& _Val
);
void insert(
   const_iterator _Where,
   size_type _Count,
   const Type& _Val
);
template<class InputIterator>
   void insert(
      const_iterator _Where,
      InputIterator _First,
      InputIterator _Last
   );

パラメーター

パラメーター

説明

_Where

最初の要素がベクターの挿入位置。

_Val

ベクターに挿入される要素の値。

_Count

ベクターに挿入される要素の数。

_First

コピーする要素範囲内の先頭の要素の位置。

_Last

コピーする要素範囲を超える最初の要素の位置。

戻り値

最初の 2 insert の関数は、新しい要素がベクターに挿入位置を指す反復子。

解説

どの挿入操作でも vector のパフォーマンスの詳細については、" " を参照 ベクターのクラス をな場合があります。

使用例

// vector_insert.cpp
// compile with: /EHsc
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;   
   vector <int> v1;
   vector <int>::iterator Iter;
   
   v1.push_back( 10 );
   v1.push_back( 20 );
   v1.push_back( 30 );

   cout << "v1 =" ;
   for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ )
      cout << " " << *Iter;
   cout << endl;

   v1.insert( v1.begin( ) + 1, 40 );
   cout << "v1 =";
   for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ )
      cout << " " << *Iter;
   cout << endl;
   v1.insert( v1.begin( ) + 2, 4, 50 );

   cout << "v1 =";
   for ( Iter = v1.begin( ) ; Iter != v1.end( ) ; Iter++ )
      cout << " " << *Iter;
   cout << endl;

   v1.insert( v1.begin( )+1, v1.begin( )+2, v1.begin( )+4 );
   cout << "v1 =";
   for (Iter = v1.begin( ); Iter != v1.end( ); Iter++ )
      cout << " " << *Iter;
   cout << endl;

// initialize a vector of vectors by moving v1
   vector < vector <int> > vv1;

   vv1.insert( vv1.begin(), move( v1 ) );
   if ( vv1.size( ) != 0 && vv1[0].size( ) != 0 )
      {
      vector < vector <int> >::iterator Iter;
      cout << "vv1[0] =";
      for (Iter = vv1[0].begin( ); Iter != vv1[0].end( ); Iter++ )
         cout << " " << *Iter;
      cout << endl;
      }
}
  

必要条件

ヘッダー: <vector>

名前空間: std

参照

関連項目

vector Class

標準テンプレート ライブラリ