STL之find_if()函数

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

发布了18 篇原创文章 · 获赞 14 · 访问量 370

猜你喜欢

转载自blog.csdn.net/fjd7474/article/details/104286093