count_if
Gibt die Anzahl der Elemente in einem Bereich zurück, dessen Werte eine angegebene Bedingung erfüllen.
template<class InputIterator, class Predicate>
typename iterator_traits<InputIterator>::difference_type count_if(
InputIterator _First,
InputIterator _Last,
Predicate _Pred
);
Parameter
_First
Ein Eingabeiterator, der die Position des ersten Elements im Bereich behandelt gefunden werden._Last
Ein Eingabeiterator, der die Position eine hinter dem letzten Element im Bereich behandelt gefunden werden._Pred
Benutzerdefiniertes Prädikatfunktionsobjekt, das die erfüllt werden definiert, Bedingung, wenn ein Element gezählt werden soll.Ein Prädikat akzeptiert einzelnes Argument und gibt true oder false zurück.
Rückgabewert
Die Anzahl der Elemente, die die Bedingung erfüllen, wurden vom Prädikat an.
Hinweise
Diese Vorlagenfunktion ist eine Verallgemeinerung des Algorithmus Anzahl und ersetzt das Prädikat "entspricht ein bestimmter Wert" mit jedem Prädikat.
Beispiel
// alg_count_if.cpp
// compile with: /EHsc
#include <vector>
#include <algorithm>
#include <iostream>
bool greater10(int value)
{
return value >10;
}
int main()
{
using namespace std;
vector<int> v1;
vector<int>::iterator Iter;
v1.push_back(10);
v1.push_back(20);
v1.push_back(10);
v1.push_back(40);
v1.push_back(10);
cout << "v1 = ( ";
for (Iter = v1.begin(); Iter != v1.end(); Iter++)
cout << *Iter << " ";
cout << ")" << endl;
vector<int>::iterator::difference_type result1;
result1 = count_if(v1.begin(), v1.end(), greater10);
cout << "The number of elements in v1 greater than 10 is: "
<< result1 << "." << endl;
}
Anforderungen
Header: <algorithm>
Namespace: std