返回bool类型的仿函数称为谓词
一元谓词:operator()接受一个参数
#include#include #include using namespace std; //仿函数如果返回类型是bool称为谓词 class greaterfive { public: bool operator()(int val) { return val > 5; } }; void test1() { vector v; for (int i = 0; i < 10; i++) { v.push_back(i); } //查找容器中是否有大于5的数 //greaterfive() 是匿名对象,不用创建对象就能进行调用 //find_if是算法,查找是否有数字满足条件,输出为位置的迭代器 find_if(v.begin(), v.end(), greaterfive()); }
二元谓词:operator()接受两个参数
class mycompare
{
public:
bool operator()(int v1,int v2)
{
return v1>v2;
}
}



