Open In App

map emplace() in C++ STL

The map::emplace() is a built-in function in C++ STL which inserts the key and its element in the map container. It effectively increases the container size by one. If the same key is emplaced more than once, the map stores the first element only as the map is a container which does not store multiple keys of the same value. 
Syntax: 

map_name.emplace(key, element)

Parameters: The function accepts two mandatory parameters which are described below: 

Return Value: The function returns a pair consisting of an iterator and a bool value. (Iterator of the position it inserted/found the key,Bool value indicating the success/failure of the insertion.) 
 




// C++ program for the illustration of
// map::emplace() function
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
 
    // initialize container
    map<int, int> mp;
 
    // insert elements in random order
    mp.emplace(2, 30);
    mp.emplace(1, 40);
    mp.emplace(2, 20);
    mp.emplace(1, 50);
    mp.emplace(4, 50);
 
    // prints the elements
    cout << "\nThe map is : \n";
    cout << "KEY\tELEMENT\n";
    for (auto itr = mp.begin(); itr != mp.end(); itr++)
        cout << itr->first << "\t" << itr->second << endl;
 
    return 0;
}

Output: 
The map is : 
KEY    ELEMENT
1    40
2    30
4    50

 

Article Tags :
C++