zl程序教程

您现在的位置是:首页 >  其它

当前栏目

一元谓词

一元 谓词
2023-09-14 09:02:34 时间

概念:
在这里插入图片描述
输出vector容器中大于60的数字

#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
class   overSixty {
public:
	bool operator()(int val)
	{
		return val > 60;
	}
};
void test()
{
	vector<int> v;
	v.push_back(74);
	v.push_back(54);
	v.push_back(87);
	v.push_back(45);
	v.push_back(90);
	v.push_back(67);
	//用到算法  find_if
	//第三个参数传入一个匿名函数对象----传入一个函数
	vector<int>::iterator it=find_if(v.begin(), v.end(), overSixty());
    //找到返回迭代器,找不到返回end()迭代器
	while (it != v.end())
	{
		cout << *it << endl;
		//传入的是迭代器,不能传入it++,it++是it=it+1不是迭代器,是表达式
		it = find_if(it+1, v.end(), overSixty());
	}
}
int main()
{
	test();
	system("pause");
	return 0;
}

在这里插入图片描述