count_if
Veröffentlicht: Juli 2016
Gibt die Anzahl der Elemente in einem Bereich, dessen Werte eine angegebene Bedingung erfüllen.
Syntax
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 zu durchsuchenden Bereich adressiert._Last
Ein Eingabeiterator, der die Position hinter dem letzten Element im zu durchsuchenden Bereich adressiert._Pred
Eine benutzerdefinierte Prädikatfunktion-Objekt, das die Bedingung definiert, die erfüllt werden, wenn ein Element, das gezählt werden. Ein Prädikat akzeptiert ein einziges Argument und gibt true oder false.
Rückgabewert
Die Anzahl der Elemente, die vom Prädikat angegebene Bedingung erfüllen.
Hinweise
Diese Vorlagenfunktion ist eine Generalisierung des Algorithmus Anzahl, ersetzt das Prädikat "entspricht einen bestimmten Wert" durch jedes 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;
}
V1 = (10 20 10 40 10) die Anzahl von Elementen in v1, die größer als 10 ist: 2.
Anforderungen
Header: <algorithm>
Namespace: std