二元谓词— 谓词–>bool
二元----仿函数里面的参数个数
#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
//二元谓词--- 谓词-->bool 二元----仿函数里面的参数个数
class compare {
public:
bool operator()(int v1,int v2)
{
return v1 > v2;
}
};
void test()
{
//vector的排序也时sort排序算法
vector<int> v = { 2,1,5,3,8,7 };
sort(v.begin(), v.end());
for (int i = 0; i < v.size(); i++)
{
cout << v[i] << " ";
}
cout << "\n自定义排序--------------------" << endl;
//自定义排序
//匿名函数对象
sort(v.begin(), v.end(), compare());
for (int i = 0; i < v.size(); i++)
{
cout << v[i] << " ";
}
}
int main()
{
test();
system("pause");
return 0;
}
注意:
map<int, person,compare> m;
sort(v.begin(), v.end(), compare());
map是函数模板,传入的是类型,而在这里是函数,参数必须是对象