C++ Unordered_multimap Library - insert() Function


The C++ function std::unordered_multimap::insert() extends container by inserting new element in unordered_multimap by using move semantics. This function increases container size by one.


Following is the declaration for std::unordered_multimap::insert() function form std::unordered_map() header.


template <class P>
iterator insert(const_iterator position, P&& val);


  • position − Hint for the position to insert element.

  • val − Value to be inserted.

Return value

Returns an iterator pointing to the newly inserted element.

Time complexity

Constant i.e. O(1) in average case.

Linear i.e. O(n) in worst case.


The following example shows the usage of std::unordered_multimap::insert() function.

#include <iostream>
#include <unordered_map>

using namespace std;

int main(void) {
   unordered_multimap<char, int> umm = {
            {'b', 2},
            {'c', 3},
            {'d', 4},
         {'e', 5},

   auto pos = umm.insert(umm.begin(), move(pair<char, int>('a', 1)));

   cout << "After inserting new element iterator poinst to "
       << pos->first << " = " << pos->second << endl;

   return 0;

Let us compile and run the above program, this will produce the following result −

After inserting new element iterator poinst to a = 1
Kickstart Your Career

Get certified by completing the course

Get Started