Поделиться через


find (<algorithm>)

Находит позицию первого вхождения элемента в диапазоне, имеющий заданное значение.

template<class InputIterator, class Type>
   InputIterator find(
      InputIterator _First, 
      InputIterator _Last, 
      const Type& _Val
   );

Параметры

  • _First
    Итератор ввода адресацию положение первого элемента в диапазоне для поиска для указанного значения.

  • _Last
    Итератор ввода final адресации позиция одно за элементом в диапазоне для поиска для указанного значения.

  • _Val
    Значение, которое нужно найти.

Возвращаемое значение

Итератор ввода первое вхождение адресации, в котором выполняется поиск указанного значения в диапазоне.Если такое значение не существует в диапазоне адресов последняя позиция итератора обратные диапазона, final одно за элементом.

Заметки

operator==, используемое для определения соответствия между элементом и заданным значением должно установить equivalence связь между ее операндами.

Пример

// alg_find.cpp
// compile with: /EHsc 
#include <list>
#include <algorithm>
#include <iostream>

int main() {
   using namespace std;

   list <int> L;
   list <int>::iterator Iter;
   list <int>::iterator result;
   
   L.push_back( 40 );
   L.push_back( 20 );
   L.push_back( 10 );
   L.push_back( 30 );
   L.push_back( 10 );

   cout << "L = ( " ;
   for ( Iter = L.begin( ) ; Iter != L.end( ) ; Iter++ )
      cout << *Iter << " ";
   cout << ")" << endl;
   
   result = find( L.begin( ), L.end( ), 10 );
   if  ( result == L.end( ) )
      cout << "There is no 10 in list L.";
   else {
      cout << "There is a 10 in list L";
      if ( ++result != L.end() )
         cout << " and it is followed by a " << *result << ".";
   }
   cout << endl;
}

Output

L = ( 40 20 10 30 10 )
There is a 10 in list L and it is followed by a 30.

Требования

заголовок: <algorithm>

std пространство имен:

См. также

Ссылки

find (STL Samples)

Стандартная библиотека шаблонов