find
Материал из cppreference.com
Синтаксис:
#include <algorithm> input_iterator find( input_iterator start, input_iterator end, const T& val );
Функция find() ищет элементы, равные val между start и end. Если элемент, равный val найден, возвращаемое значение - итератор, указывающий на этот элемент. Если такой элемент те найден, возвращаемое значение - итератор, указывающий на end.
Например, следующий код использует find для поиска элементов вектора, равных числу 3:
int num_to_find = 3; vector<int> v1; for( int i = 0; i < 10; i++ ) { v1.push_back(i); } vector<int>::iterator result; result = find( v1.begin(), v1.end(), num_to_find ); if( result == v1.end() ) { cout << "Did not find any element matching " << num_to_find << endl; } else { cout << "Found a matching element: " << *result << endl; }
В следующем примере функция find используется для массива целых чисел. Этот пример показывает, как алгоритмы C++ STL могут использоваться для управления массивами и указателями таким же образом, как они упрвляют контейнерами и итераторами:
int nums[] = { 3, 1, 4, 1, 5, 9 }; int num_to_find = 5; int start = 0; int end = 2; int* result = find( nums + start, nums + end, num_to_find ); if( result == nums + end ) { cout << "Did not find any number matching " << num_to_find << endl; } else { cout << "Found a matching number: " << *result << endl; }
Смотрите также: adjacent_find, find_end, find_first_of, find_if, mismatch, search