Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

find_if

Busque la posición de la primera aparición de un elemento de un intervalo que cumple una condición especificada.

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

Un iterador de entrada que dirige la posición del primer elemento del intervalo que se buscará.

_Last

Un iterador de entrada que dirige la posición una más allá del último elemento en el intervalo que se buscará.

_Pred

Objeto definido por el usuario de la función de predicado que define la condición que se completará por el elemento que se busca. Un predicado toma el único argumento y devuelve TRUE o Falso.

Un iterador de entrada que dirige el primer elemento del intervalo que cumple la condición especificada por el predicado.

Esta función de plantilla es una generalización del algoritmo búsqueda, reemplazando el predicado “equals un valor concreto” con un predicado.

// 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;
   }
}
L = (5 10 15 20 10) There es un elemento mayor que 10 en l de lista, y va seguida de 20.

encabezado: <algoritmo>

espacio de nombres: std

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.