A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cplusplus.com/reference/algorithm/count/ below:

function template

<algorithm>

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

Count appearances of value in range

Returns the number of elements in the range [first,last) that compare equal to val.

The function uses operator== to compare the individual elements to val.

The behavior of this function template is equivalent to:


1
2
3
4
5
6
7
8
9
10
11
template <class InputIterator, class T>
  typename iterator_traits<InputIterator>::difference_type
    count (InputIterator first, InputIterator last, const T& val)
{
  typename iterator_traits<InputIterator>::difference_type ret = 0;
  while (first!=last) {
    if (*first == val) ++ret;
    ++first;
  }
  return ret;
}

Parameters
first, last
Input iterators to the initial and final positions of the sequence of elements. The range used is [first,last), which contains all the elements between first and last, including the element pointed by first but not the element pointed by last.
val
Value to match.
T shall be a type supporting comparisons with the elements pointed by InputIterator using operator== (with the elements as left-hand side operands, and val as right-hand side).

Return value The number of elements in the range [first,last) that compare equal to val.
The return type (iterator_traits<InputIterator>::difference_type) is a signed integral type.

Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// count algorithm example
#include <iostream>     // std::cout
#include <algorithm>    // std::count
#include <vector>       // std::vector

int main () {
  // counting elements in array:
  int myints[] = {10,20,30,30,20,10,10,20};   // 8 elements
  int mycount = std::count (myints, myints+8, 10);
  std::cout << "10 appears " << mycount << " times.\n";

  // counting elements in container:
  std::vector<int> myvector (myints, myints+8);
  mycount = std::count (myvector.begin(), myvector.end(), 20);
  std::cout << "20 appears " << mycount  << " times.\n";

  return 0;
}

Output:
10 appears 3 times.
20 appears 3 times.


Complexity Linear in the distance between first and last: Compares once each element.

Data races The objects in the range [first,last) are accessed (each object is accessed exactly once).

Exceptions Throws if either an element comparison or an operation on an iterator throws.
Note that invalid arguments cause undefined behavior.

See also
for_each
Apply function to range (function template)
count_if
Return number of elements in range satisfying condition (function template)
find
Find value in range (function template)
replace
Replace value in range (function template)

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4