首页 > 其他分享 >关系仿函数

关系仿函数

时间:2022-11-12 11:46:04浏览次数:50  
标签:关系 函数 back equal bool template push greater

4.3.3 关系仿函数

功能描述:

  • 实现关系对比

仿函数原型:

  • template<class T> bool equal_to<T> //等于
  • template<class T> bool not_equal_to<T> //不等于
  • template<class T> bool greater<T> //大于
  • template<class T> bool greater_equal<T> //大于等于
  • template<class T> bool less<T> //小于
  • template<class T> bool less_equal<T> //小于等于

示例:

#include <functional>
#include <vector>
#include <algorithm>

class MyCompare
{
public:
	bool operator()(int v1,int v2)
	{
		return v1 > v2;
	}
};
void test01()
{
	vector<int> v;

	v.push_back(10);
	v.push_back(30);
	v.push_back(50);
	v.push_back(40);
	v.push_back(20);

	for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
		cout << *it << " ";
	}
	cout << endl;

	//自己实现仿函数
	//sort(v.begin(), v.end(), MyCompare());
	//STL内建仿函数  大于仿函数
	//关系仿函数和算术仿函数不同:算术仿函数用法容器,二关系仿函数用法像谓词
	sort(v.begin(), v.end(), greater<int>());

	for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
		cout << *it << " ";
	}
	cout << endl;
}

int main() {

	test01();

	system("pause");

	return 0;
}

总结:关系仿函数中最常用的就是greater<>大于

标签:关系,函数,back,equal,bool,template,push,greater
From: https://www.cnblogs.com/xiaoqing-ing/p/16883361.html

相关文章

  • 逻辑仿函数
    4.3.4逻辑仿函数功能描述:实现逻辑运算函数原型:template<classT>boollogical_and<T>//逻辑与template<classT>boollogical_or<T>......
  • 函数递归+线性表
    今日学习了函数的递归,递归指的是函数重复引用自身,为了避免栈溢出,应设置合适的限制条件。下面将今天做的练习进行整理:练习1:接收一个整型值,按照顺序打印他的每一位#include<st......
  • 函数对象
    4STL-函数对象4.1函数对象4.1.1函数对象概念概念:重载函数调用操作符()的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,也叫仿函数本质:函......
  • 算术仿函数
    4.3.2算术仿函数功能描述:实现四则运算其中negate是一元运算,其他都是二元运算仿函数原型:template<classT>Tplus<T>//加法仿函数template<clas......
  • 编写C程序,实现顺序栈的下列功能: 1、设计一个虚拟界面,让用户选择操作(根据提示输入数据
    编写C程序,实现顺序栈的下列功能: 1、设计一个虚拟界面,让用户选择操作(根据提示输入数据)2、采用模块化编程思想,编写main函数和若干子函数(实现功能)3、栈的基本功能有:创......
  • 第二章 关系数据库
    2.1关系数据结构集形式化定义2.1.1关系域:一组具有相同数据类型的值的集合。例:{0,1}{男,女}笛卡儿积:域上的一种集合运算关系:关系中涉及的码:候选码:某......
  • [c/c++] 使用函数指针会导致程序变慢
    参考:​​c-DoesFunctionpointermaketheprogramslow?-StackOverflow​​正文:使用函数指针会导致程序变慢,比如先把某个函数的指针保存下来,然后调用这个指针比直接......
  • MES系统与ERP之间的关系是怎么样的?
    从企业的管理来说,MES(ManufacturingExecutionSystem,即制造执行系统)系统与ERP(EnterpriseResourcePlanning,企业资源计划)之间的关系有点像公司总部与分厂的关系,ERP......
  • 统计开始目录及其子目录下的指定类型文件中的单词(使用多线程、并发多线程(mappedReduce
    #include<QList>#include<QMap>#include<QTextStream>#include<QString>#include<QStringList>#include<QDir>#include<QElapsedTimer>#include<QApplicati......
  • C#之强制类型转换是错误和String到int用Convert()函数解决
    strings="2222"inti=(int)s 这种写法在C#中是错误的,属于强制类型转换,没有通过第三方,直接从A到B的转换,是不受欢迎的。 通过Convert()函数进行第三方转换,属于A到C,再到......