概念:
输出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;
}