C++ Map Library - emplace_hint() Function


Advertisements

Description

The C++ function std::map::emplace_hint() inserts a new element in a map using hint as a position for element.

Declaration

Following is the declaration for std::map::emplace_hint() function form std::map header.

C++11

template <class... Args>
iterator emplace_hint (const_iterator position, Args&&... args);

Parameters

  • position − Hint for the position to insert element.

  • args − Arguments forwarded to construct the new element.

Return value

Returns an iterator to the newly inserted element. If insertion fails because of already existing element, it returns iterator to the existing element.

Exceptions

This member function doesn't throw exception.

Time complexity

Linear i.e. O(n)

Example

The following example shows the usage of std::map::emplace_hint() function.

#include <iostream>
#include <map>

using namespace std;

int main(void) {
   map<char, int> m = {
            {'b', 2},
            {'c', 3},
            {'d', 4},
            };

   m.emplace_hint(m.end(), 'e', 5);
   m.emplace_hint(m.begin(), 'a', 1);

   cout << "Map contains following elements" << endl;

   for (auto it = m.begin(); it != m.end(); ++it)
      cout << it->first << " = " << it->second << endl;

   return 0;
}

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

Map contains following elements
a = 1
b = 2
c = 3
d = 4
e = 5
map.htm
Advertisements