C++ Map Library - emplace() Function


Advertisements


Description

The C++ function std::multimap::emplace() extends container by inserting new element.

This member function increases size of multimap by one.

Declaration

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

C++11

template <class... Args>
iterator emplace (Args&&... args);

Parameters

args − arguments to forward to the constructor of the element.

Return value

Returns an iterator to newly inserted element.

Exceptions

No effect on container if exception is thrown.

Time complexity

Logarithmic i.e. O(log n)

Example

The following example shows the usage of std::multimap::emplace() function.

Live Demo
#include <iostream>
#include <map>

using namespace std;

int main(void) {
   multimap<char, int> m {
         {'a', 1},
         {'b', 2},
         {'c', 3},
         {'d', 4},
         {'e', 5},
               };

   m.emplace('a', 2);
   m.emplace('b', 2);

   cout << "Multimap 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 −

Multimap contains following elements
a = 1
a = 2
b = 2
b = 2
c = 3
d = 4
e = 5

map.htm

Advertisements