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