比较器与类的成员函数(2019.10.22)

2024-01-13 02:32
文章标签 函数 比较 成员 22 2019.10

本文主要是介绍比较器与类的成员函数(2019.10.22),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关键:函数后面的const可以认为是用作修饰this指针

1.当把比较器不作为类的成员函数,因为const是用来修饰this指针的,那么必须有类,所以函数后面不能加const

 

bool cmp(const Interval &a,const Interval &b){//后面不加constif(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函数,并且后面不加constvector<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;}
};

 

 

 

 

 

这篇关于比较器与类的成员函数(2019.10.22)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/599951

相关文章

Mybatis对MySQL if 函数的不支持问题解读

《Mybatis对MySQLif函数的不支持问题解读》接手项目后,为了实现多租户功能,引入了Mybatis-plus,发现之前运行正常的SQL语句报错,原因是Mybatis不支持MySQL的if函... 目录MyBATis对mysql if 函数的不支持问题描述经过查询网上搜索资料找到原因解决方案总结Myb

Python容器转换与共有函数举例详解

《Python容器转换与共有函数举例详解》Python容器是Python编程语言中非常基础且重要的概念,它们提供了数据的存储和组织方式,下面:本文主要介绍Python容器转换与共有函数的相关资料,... 目录python容器转换与共有函数详解一、容器类型概览二、容器类型转换1. 基本容器转换2. 高级转换示

Python中4大日志记录库比较的终极PK

《Python中4大日志记录库比较的终极PK》日志记录框架是一种工具,可帮助您标准化应用程序中的日志记录过程,:本文主要介绍Python中4大日志记录库比较的相关资料,文中通过代码介绍的非常详细,... 目录一、logging库1、优点2、缺点二、LogAid库三、Loguru库四、Structlogphp

pandas使用apply函数给表格同时添加多列

《pandas使用apply函数给表格同时添加多列》本文介绍了利用Pandas的apply函数在DataFrame中同时添加多列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录一、Pandas使用apply函数给表格同时添加多列二、应用示例一、Pandas使用apply函

gitlab项目实现添加新成员

《gitlab项目实现添加新成员》:本文主要介绍gitlab项目实现添加新成员方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录gitlabhttp://www.chinasem.cn项目添加新成员1、进入项目2、手动输入要添加成员的账号或者搜索总结gitlab项

Python中Namespace()函数详解

《Python中Namespace()函数详解》Namespace是argparse模块提供的一个类,用于创建命名空间对象,它允许通过点操作符访问数据,比字典更易读,在深度学习项目中常用于加载配置、命... 目录1. 为什么使用 Namespace?2. Namespace 的本质是什么?3. Namesp

MySQL中如何求平均值常见实例(AVG函数详解)

《MySQL中如何求平均值常见实例(AVG函数详解)》MySQLavg()是一个聚合函数,用于返回各种记录中表达式的平均值,:本文主要介绍MySQL中用AVG函数如何求平均值的相关资料,文中通过代... 目录前言一、基本语法二、示例讲解1. 计算全表平均分2. 计算某门课程的平均分(例如:Math)三、结合

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

python中的高阶函数示例详解

《python中的高阶函数示例详解》在Python中,高阶函数是指接受函数作为参数或返回函数作为结果的函数,下面:本文主要介绍python中高阶函数的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录1.定义2.map函数3.filter函数4.reduce函数5.sorted函数6.自定义高阶函数