C++ Vector emplace
This function inserts a new element just before the position pos and size of the vector container increases.
Syntax
Consider a vector 'v'. Syntax would be:
Example
Iterator it=v.emplace(pos,args);
Parameter
pos : It defines the position before which the new element is to be inserted.
args : Arguments forwarded to construct the new element.
Return value
It returns an iterator to the newly inserted element.
Example 1
Let's see a simple example.
Example
#include <iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> v{1,2,3,4,5};
cout<<"Elements of vector v are :";
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
cout<<'\n';
cout<<"After adding two elements, elements are :";
vector<int>::iterator it=v.emplace(v.begin()+2,8);
v.emplace(it,9);
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
return 0;
}
Output:
Output
Elements of vector v are :1 2 3 4 5
After adding two elements, elements are :1 2 9 8 3 4 5
In this example, size of the vector container increases using emplace function.
Example 2
Let's see a simpleanother example.
Example
#include <iostream>
#include<vector>
using namespace std;
int main()
{
vector<string> v{"mango","apple","banana"};
v.emplace(v.begin()+2,"strawberry");
for(int i=0;i<v.size();i++)
std::cout<< v[i] << " ";
return 0;
}
Output:
Output
Mango apple strawberry banana
In this example, the size of the vector container increases by adding new string into the vector using emplace function.