Condividi tramite


find_if

Individuare la posizione della prima occorrenza di un elemento in un intervallo che soddisfa una condizione specificata.

template<class InputIterator, class Predicate>
   InputIterator find_if(
      InputIterator _First, 
      InputIterator _Last, 
      Predicate _Pred
   );

Parametri

  • _First
    Un iteratore di input destinato alla posizione del primo elemento nell'intervallo da rilevare.

  • _Last
    Un iteratore di input destinato alla posizione una dopo l'elemento finale nell'intervallo da rilevare.

  • _Pred
    Oggetto definito dall'utente di funzione di predicato che definisce la condizione soddisfatta dall'elemento trovato per.Un predicato accetta un solo argomento e restituisce true o false.

Valore restituito

Un iteratore di input destinato al primo elemento nell'intervallo che soddisfa la condizione specificata dal predicato.

Note

Questa funzione modello è una generalizzazione l'algoritmo ricerca, sostituendo il predicato “uguale a un valore specifico" con il predicato.

Esempio

// alg_find_if.cpp
// compile with: /EHsc
#include <list>
#include <algorithm>
#include <iostream>

bool greater10 ( int value )
{
   return value >10;
}

int main( )
{
   using namespace std;

   list <int> L;
   list <int>::iterator Iter;
   list <int>::iterator result;
   
   L.push_back( 5 );
   L.push_back( 10 );
   L.push_back( 15 );
   L.push_back( 20 );
   L.push_back( 10 );

   cout << "L = ( " ;
   for ( Iter = L.begin( ) ; Iter != L.end( ) ; Iter++ )
      cout << *Iter << " ";
   cout << ")" << endl;

   
   result = find_if( L.begin( ), L.end( ), &greater10 );
   if ( result == L.end( ) )
      cout << "There is no element greater than 10 in list L."
           << endl;
   else
   {
      result++;
      cout << "There is an element greater than 10 in list L,"
           << "\n and it is followed by a "
           <<  *(result) << "." << endl;
   }
}
  

Requisiti

intestazione: <algorithm>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

find_if (STL Samples)

Libreria di modelli standard