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:
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:
Elements: 14 11 11 11 12 13 13
Program 2:
// 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