具有多个谓词的C++ 11算法

use*_*710 2 c++ algorithm predicate c++11

std::find_if来自algorithm标题的函数非常有用,但对我来说,一个严重的限制是我每次调用时只能使用1个谓词count_if.

例如,给定一个像std::vector我想要应用的容器,同时使用find_if多个谓词的相同迭代; 标准库中有一些东西可以保持这种功能方法吗?

Ben*_*ley 8

只需将它们与lambda结合起来:

std::find_if(begin(vec), end(vec),
    [](elem_t val) {
        return f1(val) || f2(val);
    });
Run Code Online (Sandbox Code Playgroud)