find_if()包含三个参数,前两个指出查找范围,第三个参数是一个函数指针或者函数对象,返回第一个查找到的迭代器
例子:返回能整除elem的迭代器
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
//能整除x的
class fun
{
public:
fun(int x)
{
elem = x;
}
bool operator()(int a)
{
if (a % elem == 0)
return true;
return false;
}
private:
int elem;
};
int main()
{
vector<int>vec;
vec.reserve(110);
for (int i = 0; i < 100; i++)
vec.push_back(i);
fun fun1(4);
vector<int>::iterator ite;
ite = find_if(vec.begin(), vec.end(), fun1);
cout << *ite << endl;
ite = find_if(++ite, vec.end(), fun1);
cout << *ite << endl;
ite = find_if(++ite, vec.end(), fun1);
cout << *ite << endl;
system("pause");
return 0;
}
输出0,4,8