次の方法で共有


find (<algorithm>)

指定された値がスコープ内にある要素の最初に出現する位置を検索します。

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

パラメーター

  • _First
    指定された値が検索範囲の先頭の要素の位置を示す入力反復子。

  • _Last
    指定された値が検索範囲の最後の要素 1 を超える位置を示す入力反復子。

  • _Val
    のは、検索する値。

戻り値

検索範囲の指定された値の最初の出現を示す入力反復子。このような値が範囲外である場合、反復子の返されるアドレス範囲の最後の位置、最後の要素を含む 1。

解説

要素と指定された値との一致項目を決定するために使用される operator== がオペランド間の等価関係を課さなければ必要があります。

使用例

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

出力

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)

標準テンプレート ライブラリ