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

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