Sdílet prostřednictvím


find (<algorithm>)

Pozice prvního výskytu elementu vyhledá v rozsahu, který obsahuje určitou hodnotu.

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

Parametry

  • _First
    Vstupní iterátoru adresování pozici první prvek v rozsahu mají být prohledány zadanou hodnotu.

  • _Last
    Vstupní iterátoru adresování jednu pozici za poslední prvek v rozsahu mají být prohledány zadanou hodnotu.

  • _Val
    Hodnota má být vyhledán.

Vrácená hodnota

Vstupní iterační adresování první výskyt zadanou hodnotu v rozsahu hledání.Pokud neexistuje žádná taková hodnota v rozsahu, iterace vrácena adresy na poslední pozici rozsah jednu poslední prvek v minulosti.

Poznámky

operator== Slouží k určení shoda mezi prvkem a zadaná hodnota musí stanovit vztah rovnocennosti mezi jeho operandy.

Příklad

// 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;
}

Výsledek

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

Požadavky

Záhlaví: <algorithm>

Obor názvů: std

Viz také

Referenční dokumentace

find (STL Samples)

Standardní šablona knihovny