来自std::find_if
标题的algorithm
等函数非常有用,但对我来说,一个严重的限制是每次调用count_if
时我只能使用1个谓词。< / p>
例如,给定像std::vector
这样的容器,我想同时应用find_if
的同一迭代,多个谓词;标准库中有什么东西能够在保持这种功能性方法的同时实现这一目标吗?
答案 0 :(得分:8)
只需将它们与lambda结合使用:
std::find_if(begin(vec), end(vec),
[](elem_t val) {
return f1(val) || f2(val);
});