一元谓词

2021-03-02 15:52:42 浏览数 (1)

概念:

输出vector容器中大于60的数字

代码语言:javascript复制
#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;
}

0 人点赞