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

时间:2013-12-24 04:25:03

标签: c++ algorithm c++11 predicate

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

例如,给定像std::vector这样的容器,我想同时应用find_if的同一迭代,多个谓词;标准库中有什么东西能够在保持这种功能性方法的同时实现这一目标吗?

1 个答案:

答案 0 :(得分:8)

只需将它们与lambda结合使用:

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