Пространства имён
Варианты
Действия

find_if

Материал из cppreference.com

Синтаксис:

    #include <algorithm>
    input_iterator find_if( input_iterator start, input_iterator end, UnPred up );

Функция find_if() ищет первый элемент между start и end, для которого унарный предикат up возвращает истину.

Если такой элемент найден, возвращается итератор, указывающий на этот элемент. Иначе возвращается итератор, указывающий на end.

Например, следующий код использует find_if() и унарный предикат "больше чем ноль", чтобы найти первое положительное ненулевое число в списке чисел:

   int nums[] = { 0, -1, -2, -3, -4, 342, -5 };
   int* result;
   int start = 0;
   int end = 7;
 
   result = find_if( nums + start, nums + end, bind2nd(greater<int>(), 0));
   if( result == nums + end ) {
     cout << "Did not find any number greater than zero" << endl;
   } else {
     cout << "Found a positive non-zero number: " << *result << endl;
   }

Смотрите также: adjacent_find, equal, find, find_end, find_first_of, search_n