Export (0) Print
Expand All

vector::emplace

Inserts an element constructed in place into the vector at a specified position.

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

Parameter

Description

_Where

The position in the vector Class where the first element is inserted.

_Val

The value of the element being inserted into the vector.

The function returns an iterator that points to the position where the new element was inserted into the vector.

Any insertion operation can be expensive, see vector Class for a discussion of vector performance.

// 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;
      }
}
v1 = 10 20 30
vv1[0] = 10 20 30

Header: <vector>

Namespace: std

Show:
© 2015 Microsoft