问题及代码:
/*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:崔青青
*完成日期:2016年6月3日
*版 本 号:v1.0
*问题描述:
*输入描述:无
*输出描述:无
*/
#include <iostream>
#include<numeric>
#include<vector>
#include<functional>
#include<iterator>
#include<algorithm>
using namespace std;
int main()
{
int intArr[]={30,90,10,40,70,50,20,80};
const int N=sizeof(intArr)/sizeof(int);
vector<int>a(intArr,intArr+N);
vector<int>::iterator p=find_if(a.begin(),a.end(),bind2nd(greater<int>(),40));
if(p==a.end())
cout<<"no element greater than 40"<<endl;
else
cout<<"first element greater than 40 is:"<<*p<<endl;
return 0;
}
运行结果:
知识点总结:
使用函数适配器,将n元函数对象的制定参数绑定为一个常数,得到n-1元函数对象.
学习心得: