vector::emplace

插入元素构造就地到矢量中的指定位置。

iterator emplace(
   const_iterator _Where,
   Type&& _Val
);

参数

Parameter

说明

_Where

在插入第一个元素的 vector Class 的位置。

_Val

插入 vector元素的值。

返回值

函数返回指向位置新元素插入 vector的迭代器。

备注

所有插入操作很大开销,有关 vector 性能的讨论参见 向量选件类

示例

// vector_emplace.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;

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

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

要求

标头: <vector>

命名空间: std

请参见

参考

vector Class

标准模板库