Skip to content
Related Articles

Related Articles

multimap key_comp in C++ STL
  • Last Updated : 12 Nov, 2018

This is the part of Standard Template Library(STL) of C++. To use this STL, use Namespace: std and include “map” header file in the program.
It returns the function object or comparison object or ordering delegate that compares the keys, which is a copy of this container’s constructor argument.
It is a function pointer or an object that takes two arguments of the same type as the element keys and determines the order of the elements in the container.


key_compare key_comp();

Here key_compare is the type of the comparison object, which is associated to the container.


It does not accept any parameter.


It returns the key comparison function object or ordering delegate, which is defined in multimap as an alias of its third template parameter.

Below is an example of multimap::key_comp:

// c++ program to show
// the use of multimap::key_comp
#include <iostream>
#include <map>
using namespace std;
// Driver code
int main()
    multimap<char, int> m1;
    //'comp' works as a variable
    multimap<char, int>::key_compare comp = m1.key_comp();
    // set the values of the pairs
    m1.insert(make_pair('a', 10));
    m1.insert(make_pair('b', 20));
    m1.insert(make_pair('b', 30));
    m1.insert(make_pair('c', 40));
    // key value of last element
    char h = m1.rbegin()->first;
    multimap<char, int>::iterator i = m1.begin();
    do {
        cout << (*i).first << " = " << (*i).second << '\n';
    } while (comp((*i++).first, h));
    return 0;


a = 10
b = 20
b = 30
c = 40

Attention reader! Don’t stop learning now. Get hold of all the important C++ Foundation and STL concepts with the C++ Foundation and STL courses at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :