14.42 使用标准库函数对象及适配器定义一条表达式,令其
1 统计打于1024的值有多少个。
2 找到第一个不等于pooh的字符串
3 将所有的值乘以2
14.43 使用标准库函数对象判断一个给定的int值是否能被int容器中的所有元素整除
#include<iostream> #include<functional> #include<string> #include<vector> #include<algorithm> using namespace std; int main() { using namespace std::placeholders; vector<int> vec={3774,2,3,6,5,66666456,342,2,4212,43,245,5,345,43534,5345454}; vector<string> vec1={"pooh","qpooh"}; cout<<count_if(vec.begin(),vec.end(),bind(greater<int>(),_1,1024))<<endl; cout<<*find_if(vec1.begin(),vec1.end(),bind(not_equal_to<string>(),_1,"pooh"))<<endl; for_each(vec.begin(),vec.end(),bind(multiplies<int>(),_1,2)); for_each(vec.begin(),vec.end(),[](int i){cout<<i<<" ";}); cout<<endl; int n; cin>>n; if(find_if(vec.begin(),vec.end(),bind(modulus<int>(),_1,n))!=vec.end()) cout<<"Not divisible"<<endl; else cout<<"divisible"<<endl; return 0; }