Freigeben über


count_if

Gibt die Anzahl der Elemente in einem Bereich zurück, dessen Werte eine bestimmte 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 von Elementen, die die Bedingung erfüllen, gab vom Prädikat an.

Hinweise

Diese Vorlagenfunktion ist eine Verallgemeinerung des Algorithmus Anzahl und ersetzt das Prädikat "Weniger 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

Siehe auch

Referenz

count_if (STL-Beispiele)

Standardvorlagenbibliothek