下面我来讲解一下什么是函数对象,什么是一元谓词,二元谓词,同时也介绍一下STL提供的一些可以直接拿来使用的仿函数:
#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
#include<functional>
class base
{
public:
base()
{
this->count = 0;
}
int operator()(int a,int b)
{
return a + b;
}
//一元谓词
bool operator()(int value)
{
return value > 8;
}
void operator()(string test)
{
cout << test << endl;
count++;
}
int count;
};
class Compare
{
public:
//二元谓词
bool operator()(int a, int