1.谓词概念
概念:
返回bool类型的仿函数称为谓词
如果operator()接受一个参数,那么叫做一元谓词
如果operator()接受两个参数,那么叫做二元谓词
一元谓词:
class GreaterFive
{
public:
bool operator()(int val)
{
return val > 5;
}
};
void test01()
{
vector<int>v;
for (int i = 0; i < 10; i++)
{
v.push_back(i);
}
//查找容器中 有没有大于5的数字
// //find_if:用条件的方式来查找有无想要的结果
//GreaterFive() 是匿名函数对象
vector<int>::iterator it=find_if(v.begin(),v.end(), GreaterFive());
if (it == v.end())//判断有无找到
{}
二元谓词:
//二元谓词
class MyCompare
{
public:
bool operator()(int val1, int val2)
{
return val1 > val2;
}
};
总结:参数只有一个的谓词,称为一元谓词
参数只有俩个的谓词,称为二元谓词
仅个人看视频笔记与理解,如有误可指出谢谢