Open In App

unordered_multiset emplace() function in C++ STL

The unordered_multiset::emplace() is a built-in function in C++ STL which inserts a new element in the unordered_multiset 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_multiset_name.emplace(val)

Parameters: The function accepts a single mandatory parameter val which is to be inserted in the container.

Return Value: It returns an iterator which points to the newly inserted element.

Below programs illustrates the above function:

Program 1:




// C++ program to illustrate the
// unordered_multiset::emplace() function
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
  
    // declaration
    unordered_multiset<int> sample;
  
    // inserts element using emplace()
    sample.emplace(11);
    sample.emplace(11);
    sample.emplace(11);
    sample.emplace(12);
    sample.emplace(13);
    sample.emplace(13);
    sample.emplace(14);
  
    cout << "Elements: ";
  
    for (auto it = sample.begin(); it != sample.end(); it++)
        cout << *it << " ";
    return 0;
}

Output:
Elements: 14 11 11 11 12 13 13

Program 2:




// C++ program to illustrate the
// unordered_multiset::emplace() function
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
  
    // declaration
    unordered_multiset<char> sample;
  
    // inserts element using emplace()
    sample.emplace('a');
    sample.emplace('a');
    sample.emplace('a');
    sample.emplace('b');
    sample.emplace('b');
    sample.emplace('c');
    sample.emplace('d');
  
    cout << "Elements: ";
  
    for (auto it = sample.begin(); it != sample.end(); it++)
        cout << *it << " ";
    return 0;
}

Output:
Elements: d a a a b b c

Article Tags :
C++