📜  C++ STL-Set.key_comp()函数(1)

📅  最后修改于: 2023-12-03 14:59:46.160000             🧑  作者: Mango

C++ STL-Set.key_comp()函数

总览

set::key_comp() 函数用于返回当前集合中用于比较元素的比较函数。

语法:

key_compare key_comp() const;

该函数是一个成员函数,它不会修改元素,也不会抛出任何异常。

参数

该函数无参数。

返回值

该函数返回类型为 key_compare,是一个用于比较元素的函数对象。

示例
#include <iostream>
#include <set>

int main() {
    std::set<int> mySet;

    auto cmp = mySet.key_comp();

    mySet.insert(10);
    mySet.insert(20);
    mySet.insert(30);

    int highest = *mySet.rbegin();
    std::cout << "Set contains:";
    for (int i = 1; i <= highest; ++i) {
        if (cmp(i, *mySet.begin())) {
            std::cout << ' ' << i;
        }
    }
    std::cout << '\n';

    return 0;
}

输出:

Set contains: 1 2 3 4 5 6 7 8 9

上述代码中,我们创建了一个整型的 set,并获得其比较函数 cmp。接着我们插入了三个元素 102030。最后我们使用 cmp 来输出 1highest 中存在于集合中的元素。

注意事项

set::key_comp() 函数用于比较元素的方式由集合的 Compare 模板参数所决定,默认情况下使用 < 运算符比较元素。同时,该函数可以用于在多个不同集合中比较不同元素,但需要注意不用于排序和插入。