count_if returns the number of elements in a range whose values satisfy a specified condition.
template<class InputIterator, class Predicate>
typename iterator_traits<InputIterator>::difference_typecount_if(
InputIterator _First,
InputIterator _Last,
Predicate _Pred
);
Example
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool IsEven(int n)
{
return ((n % 2) == 0);
}
int main() {
std::vector<int> numbers;
for (int i = 1; i<10; i++)
numbers.push_back(i);
int evencount =
count_if(numbers.begin(), numbers.end(), IsEven);
std::cout
<< "numbers
contains " << evencount << " even values.\n";
return 0;
}
Result: