set::key_comp() in C++ STL

set::key_comp() is an inbuilt function in C++ STL which returns a copy of the comparison object used by the container. By default, this is a less object, which returns the same as operator ‘<'. This object determines the order of the elements in the container. It is a function pointer or a function object which takes two arguments of the same type as the container elements and returns true if the first argument is considered to go before the second in the strict weak ordering it defines or false otherwise. Two elements of a set are considered equivalent if key_comp returns false reflexively (i.e., no matter the order in which the elements are passed as arguments).


key_compare set_name.key_comp() 

Parameters: This function does not accept any parameter.

Return value: The function returns a copy of the comparison object used by the container.

Program to demonstrate the above function:





// C++ program to illustrate the
// set::key_comp() function
#include <bits/stdc++.h>
using namespace std;
int main()
    // creating a set named 'a'
    set<int> a;
    set<int>::key_compare comp = a.key_comp();
    // Inserting elements into set
    for (int i = 0; i <= 10; i++)
    cout << "Set a has the numbers: ";
    // stores the last value of the set
    int l = *a.rbegin();
    // initialising the iterator
    set<int>::iterator it = a.begin();
    // printing elements of all set
    do {
        cout << *it << " ";
    } while (comp(*(++it), l));
    return 0;



Set a has the numbers: 0 1 2 3 4 5 6 7 8 9

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at to report any issue with the above content.