Find_if является функцией и возвращает итератор для первого элемента в диапазоне.
#include <list>
#include <algorithm>
#include <iostream>
bool greater10 ( int value )
{
if(value == 10)
{
return true;
}
return false;
}
int main( )
{
using namespace std;
list <int> L;
list <int>::iterator Iter;
list <int>::iterator result;
L.push_back( 10 );
L.push_back( 9 );
L.push_back( 15 );
L.push_back( 8);
L.push_back( 10 );
cout << "L = ( " ;
for ( Iter = L.begin( ) ; Iter != L.end( ) ; Iter++ )
cout << *Iter << " ";
cout << ")" << endl;
result = find_if( L.begin( ), L.end( ), &greater10 );
for( ;result != L.end(); result++ )
{
cout << *result <<"\t";
cout <<endl;
}
}
Эта функция возвращает первый элемент в качестве итератора, и она не будет сортировать векторный массив.