The unordered_multimap::emplace() is a built-in function in C++ STL which inserts a new {key, element} in the unordered_multimap 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_multimap_name.emplace(key, element)
Parameters: The function accepts a single mandatory parameter key and element 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 // unordered_multimap::emplace() #include <iostream> #include <string> #include <unordered_map> using namespace std;
int main()
{ // declaration
unordered_multimap< int , int > sample;
// inserts key and elements
sample.emplace(1, 2);
sample.emplace(1, 2);
sample.emplace(1, 3);
sample.emplace(4, 9);
sample.emplace(60, 89);
cout << "Key and Elements: \n" ;
for ( auto it = sample.begin(); it != sample.end(); it++)
cout << "{" << it->first << ":" << it->second << "}\n " ;
return 0;
} |
Output:
Key and Elements: {60:89} {4:9} {1:3} {1:2} {1:2}
Program 2:
// unordered_multimap::emplace #include <iostream> #include <string> #include <unordered_map> using namespace std;
int main()
{ // declaration
unordered_multimap<string, string> sample;
// inserts key and elements
sample.emplace( "gopal" , "dave" );
sample.emplace( "gopal" , "dave" );
sample.emplace( "Geeks" , "C++" );
sample.emplace( "multimap" , "functions" );
sample.emplace( "multimap" , "functions" );
cout << "Key and Elements: \n" ;
for ( auto it = sample.begin(); it != sample.end(); it++)
cout << "{" << it->first << ":" << it->second << "}\n " ;
return 0;
} |
Output:
Key and Elements: {multimap:functions} {multimap:functions} {Geeks:C++} {gopal:dave} {gopal:dave}