STL的algorithm有没有类似for_all/filter的算法
例如,给定一个数组,判断是否每一个值都是正数,有没有类似for_all的算法,可以接受一个数组和一个[]{ int i } {return i > 0; }再如,给定一个数组,把所有都是正数的元素拿出来,放到另一个新的容器。
我知道for_each,我想要的是类似find_if这样的,返回一个bool类型的函数。
什么算法呢,谢谢。 没有小于等于0的数,那就都是正数if( find_if( begin(arr), end(arr), [](int v){return v<=0;} ) == end(arr) )
{
// 都是正数
}第二个问题copy_if( begin(src), end(src), begin(dst), [](int v){return v>0;} ); 自己写不也就一句话么:
for_each(input.begin(), input.end(), [&](int n){ if(n>=0) output.push_back(n); });
回复 2# windoze
现在已经支持 for(auto &rItem: vector){
xxx;yyy;
}了吧 lambda 一句代码就够了
页:
[1]