C++ Algorithm Library - count() Function


The C++ function std::algorithm::count() returns the number of occurrences of value in range. This function uses operator == for comparison.


Following is the declaration for std::algorithm::count() function form std::algorithm header.


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


  • first − Input iterators to the initial positions of the searched sequence.

  • last − Input iterators to the final positions of the searched sequence.

  • val − Value to search for in the range.

Return value

Returns the number of elements in the range of first to last.


Throws an exception if either element assignment or an operation on an iterator throws exception.

Please note that invalid parameters cause undefined behavior.

Time complexity

Linear in the distance between first to last.


The following example shows the usage of std::algorithm::count() function.

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

using namespace std;

int main(void) {
   vector<int> v = {1, 3, 3, 3, 3};
   int cnt;

   cnt = count(v.begin(), v.end(), 3);

   cout << "Number 3 occurs " << cnt << " times." << endl;

   return 0;

Let us compile and run the above program, this will produce the following result −

Number 3 occurs 4 times.