是否有计算向量中所有正数的函数?

Is there a function to count all positive numbers in a vector?

我正在寻找一个可以计算 vector 中所有正数的函数!我需要你的帮助。到目前为止,我发现的唯一函数是 algorithm 中的 std::count(),但它只在容器中搜索等于某个值的元素。也许有办法让这个函数在一定范围内搜索匹配项(在我的例子中,这个范围是从 1 到 +infinity)?谢谢

最接近的是 std::count_if

你可以这样使用它:

#include <algorithm>
#include <vector>

int count_bigger(const std::vector<int>& elems) {
    return std::count_if(elems.begin(), elems.end(), [](int c){return c > 0;});
}