The unordered_multiset::emplace() is a built-in function in C++ STL which inserts a new element in the unordered_multiset container. The insertion is done automatically at the position according to the container's criterion. It increases the size of the container by one.
Syntax:
CPP
CPP
unordered_multiset_name.emplace(val)Parameters: The function accepts a single mandatory parameter val which is to be inserted in the container. Return Value: It returns an iterator which points to the newly inserted element. Below programs illustrates the above function: Program 1:
// C++ program to illustrate the
// unordered_multiset::emplace() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
// declaration
unordered_multiset<int> sample;
// inserts element using emplace()
sample.emplace(11);
sample.emplace(11);
sample.emplace(11);
sample.emplace(12);
sample.emplace(13);
sample.emplace(13);
sample.emplace(14);
cout << "Elements: ";
for (auto it = sample.begin(); it != sample.end(); it++)
cout << *it << " ";
return 0;
}
Output:
Program 2:
Elements: 14 11 11 11 12 13 13
// C++ program to illustrate the
// unordered_multiset::emplace() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
// declaration
unordered_multiset<char> sample;
// inserts element using emplace()
sample.emplace('a');
sample.emplace('a');
sample.emplace('a');
sample.emplace('b');
sample.emplace('b');
sample.emplace('c');
sample.emplace('d');
cout << "Elements: ";
for (auto it = sample.begin(); it != sample.end(); it++)
cout << *it << " ";
return 0;
}
Output:
Elements: d a a a b b c