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 пространство имен: