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