set自定义比较函数

set的比较函数必须写成仿函数(class、struct、lambda)

而不能写成函数

且operator()的参数和函数都需要用const修饰

举例:

复制代码
struct cmp
{
    bool operator()(const pair<int, string>& p1,const pair<int, string>& p2) const
    {
        if (p1.first > p2.first) return true;
        else if (p1.first < p2.first) return false;
        else
        {
            if (p1.second < p2.second) return true;
            else return false;
        }
    };
};

set<pair<int, string>, cmp> is;
View Code
复制代码

 

posted @   80k  阅读(225)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示