C++ 标准库 - <algorithm>

C++ std::count 统计区间中与给定值相等的元素个数,比较使用 operator==。

原型

template<class InputIt, class T>
typename iterator_traits<InputIt>::difference_type
count(InputIt first, InputIt last, const T& value);

参数

  • first, last:统计区间。
  • value:目标值。

返回值

匹配个数,类型为迭代器的差值类型(通常可当作整数使用)。

示例

#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    std::vector<int> v = {1, 2, 2, 3, 2};
    std::cout << std::count(v.begin(), v.end(), 2) << std::endl;
    return 0;
}

输出:

3

注意事项

只关心是否存在至少一个时,find 可以提前结束,通常优于先 count 再与零比较。按条件计数用 count_if。

下一页介绍count_if:按谓词计数。