比较器与类的成员函数
来源:互联网 发布:php网页爬虫 编辑:程序博客网 时间:2024/06/07 05:20
关键:函数后面的const可以认为是用作修饰this指针
1.当把比较器不作为类的成员函数,因为const是用来修饰this指针的,那么必须有类,所以函数后面不能加const
bool cmp(const Interval &a,const Interval &b){//后面不加const if(a.start!=b.start) return a.start<b.start; else return a.end<b.end;}class Solution {public: vector<Interval> merge(vector<Interval> &intervals) { vector<Interval> ans; int sz=intervals.size(); sort(intervals.begin(),intervals.end(),cmp); for(int i=0;i<sz;){ auto cur=intervals[i]; while(++i<sz){ auto nxt=intervals[i]; if(nxt.start<=cur.end) cur.end=max(cur.end,nxt.end); else break; } ans.push_back(cur); } return ans; }};
2.当把比较器作为类的成员函数,还是那句话,因为const是修饰this指针,我们需要将其作为static成员函数
class Solution {public: static bool cmp(const Interval &a,const Interval &b){ if(a.start!=b.start) return a.start<b.start; else return a.end<b.end; }//定义为static函数,并且后面不加const vector<Interval> merge(vector<Interval> &intervals) { vector<Interval> ans; int sz=intervals.size(); sort(intervals.begin(),intervals.end(),cmp); for(int i=0;i<sz;){ auto cur=intervals[i]; while(++i<sz){ auto nxt=intervals[i]; if(nxt.start<=cur.end) cur.end=max(cur.end,nxt.end); else break; } ans.push_back(cur); } return ans; }};
阅读全文
0 0
- 比较器与类的成员函数
- 类的成员函数指针(比较深入)
- 类的成员函数指针(比较深入)
- 类的成员函数指针(比较深入)
- 类的成员函数指针(比较深入)
- 类的成员函数指针(比较深入)
- 类的成员函数指针(比较深入)
- 类的成员函数指针(比较深入)
- 类的成员函数与线程函数
- const static与类的数据成员,成员函数,对象
- 类的静态成员与静态成员函数
- 类的静态成员与全局对象比较
- C++ 类的成员函数:内联函数与外联函数
- 类的成员函数与外部函数的区别
- 类成员函数与普通函数的区别
- 类的静态成员函数以及与别的函数区别
- 类普通成员函数与函数的区别
- 普通函数指针与类成员函数指针的区别
- install4j的使用
- Python matplotlib pyplot中title() xlabel() ylabel()无法显示在中文(方框乱码)的解决办法
- Python运用urllib2和BeautifulSoup爬取网站ZOL桌面壁纸上的精美电脑壁纸
- java学习整理20170728
- 信号灯集详细使用说明
- 比较器与类的成员函数
- 【拓扑排序+LCA构造Dominator Tree】BZOJ2815 [ZJOI2012]灾难
- C语言的编译与链接
- bzoj1331: 魔板
- 【技能篇】python读取文件、实体抽取
- [py]web框架本质-自动动手实现一个mvc框架
- 让指针不再困扰你
- C++容器---pair
- 将本地已有项目 添加到 git管理中去