unordered_multimap emplace_hint() function in C++ STL Last Updated : 17 Dec, 2021 Comments Improve Suggest changes Like Article Like Report The unordered_multimap::emplace_hint() is a built-in function in C++ STL which inserts a new {key:element} in the unordered_multimap container. It starts searching from the position provided in the parameter for the insertion point of the element. The position only acts as a hint, it does not decide the position at which the insertion is to be done. 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_hint(iterator position, key, element) Parameters: The function accepts three mandatory parameters which are described below: position: it specifies the iterator pointing to the position from where search operation for insertion is to be started.key: it specifies the key which is to be inserted in the container.element: it specifies the element which is to be inserted in the container Return Value: It returns an iterator that points to the newly inserted element. Below programs illustrates the above function: Program 1: C++ // C++ program to illustrate // unordered_multimap::emplace_hint() #include <iostream> #include <string> #include <unordered_map> using namespace std; int main() { // declaration unordered_multimap<int, int> sample; // inserts key and element in a faster // way as hint given is correct auto it = sample.emplace_hint(sample.begin(), 1, 2); it = sample.emplace_hint(it, 1, 2); it = sample.emplace_hint(it, 1, 3); // slower methods as wrong position // has been given to start sample.emplace_hint(sample.begin(), 4, 9); sample.emplace_hint(sample.begin(), 60, 89); std::cout << "Key and elements:\n"; for (auto it = sample.begin(); it != sample.end(); it++) cout << "{" << it->first << ":" << it->second << "}\n "; std::cout << std::endl; return 0; } Output: Key and elements: {60:89} {4:9} {1:2} {1:2} {1:3} Program 2: C++ // C++ program to illustrate // unordered_multimap::emplace_hint() #include <iostream> #include <string> #include <unordered_map> using namespace std; int main() { // declaration unordered_multimap<string, string> sample; // inserts elements in a faster way as // hint given is correct auto it = sample.emplace_hint(sample.begin(), "gopal", "dave"); it = sample.emplace_hint(it, "gopal", "dave"); it = sample.emplace_hint(it, "Geeks", "Website"); // slower methods as wrong position // has been given to start sample.emplace_hint(sample.begin(), "Geeks", "STL"); sample.emplace_hint(sample.begin(), "Multimap", "functions"); std::cout << "Key and elements:\n"; for (auto it = sample.begin(); it != sample.end(); it++) cout << "{" << it->first << ":" << it->second << "}\n "; std::cout << std::endl; return 0; } Output: Key and elements: {Multimap:functions} {Geeks:Website} {Geeks:STL} {gopal:dave} {gopal:dave} Comment More infoAdvertise with us Next Article Unordered Multimap in C++ STL G gopaldave Follow Improve Article Tags : Misc C++ STL CPP-Functions cpp-unordered_multimap +1 More Practice Tags : CPPMiscSTL Similar Reads Unordered Multimap in C++ STL In C++, the unordered_multimap is an unordered associative container that stores data in the form of key-value pairs. It is similar to unordered map, but it allows multiple elements with the same key. It provides fast insertion, deletion and search operations in O(1) time by using hashing.Example:C+ 7 min read unordered_multimap begin() and end() function in C++ STL The unordered_multimap::begin() is a built-in function in C++ STL that returns an iterator pointing to the first element in the container or to the first element in one of its buckets. Syntax: unordered_multimap_name.begin(n) Parameters: The function accepts one parameter. If a parameter is passed, 5 min read unordered_multimap size() function in C++ STL The unordered_multimap::size() is a built-in function in C++ STL which returns the size of the unordered_multimap. It denotes the number of elements in that container. Syntax: unordered_multimap_name.size() Parameters: The function does not accept any parameters. Return Value: It returns an integral 3 min read unordered_multimap empty() function in C++ STL The unordered_multimap::empty() is a built-in function in C++ STL which returns a boolean value. It returns true if the unordered_multimap container is empty. Otherwise, it returns false. Syntax: unordered_multimap_name.empty() Parameters: The function does not accept any parameter. Return Value: It 2 min read unordered_multimap insert() in C++ STL The function std::unordered_multimap::insert() is a built-in function in C++ STL that extends container by inserting new element in unordered_multimap. This function increases container size by one. The insert() function can be used to insert a single key-value pair, a complete unordered_map, initia 2 min read unordered_multimap emplace() function in C++ STL 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_mul 2 min read unordered_multimap find() function in C++ STL The unordered_multimap::find() is a built-in function in C++ STL which returns an iterator which points to one of the elements which has the key k. If the container does not contain any element with key k, then it returns an iterator which points to the position which is past the last element in the 3 min read unordered_multimap count() function in C++ STL The unordered_multimap::count() is a built-in function in C++ STL that returns the number of elements in the container whose key is equal to the key passed in the parameter. Syntax: unordered_multimap_name.count(key) Parameters: The function accepts a single mandatory parameter key that specifies th 2 min read unordered_multimap clear() function in C++ STL The unordered_multimap::clear() is a built-in function in C++ STL which clears the contents of the unordered_multimap container. The final size of the container after the call of the function is 0. Syntax: unordered_multimap_name.clear() Parameters: The function does not accept any parameter. Return 2 min read unordered_multimap swap() function in C++ STL The unordered_multimap::swap() is a built-in function in C++ STL which swaps the contents of two unordered_multimap containers. The sizes can differ of both the containers. Syntax: unordered_multimap_name1.swap(unordered_multimap_name2) Parameters: The function accepts a single mandatory parameter u 3 min read Like