この記事では、Visual C++ で set::find
Standard Template Library (STL) 関数を使用する方法について説明します。
元の製品バージョン: Visual C++
元の KB 番号: 158576
必須ヘッダー
<set>
プロトタイプ
template<class _K, class _Pr, class _A>
class set
{
public:
// Function 1:
const_iterator find(const _K& _Kv) const;
}
Note
プロトタイプのクラス名またはパラメーター名が、ヘッダー ファイルのバージョンと一致しない可能性があります。 読みやすさを向上させるために変更されたものもあります。
set::find 関数の説明
find
関数は、制御されたシーケンス内の要素を検索するために使用されます。 並べ替えキーがパラメーターと一致する被制御シーケンスの最初の要素を指す反復子を返します。 そのような要素が存在しない場合、返される反復子は end()
と等しくなります。
サンプル コード
Note
Visual C++ .NET および Visual C++ では、 /EHsc は既定で設定され、 /GX と同じです。
//////////////////////////////////////////////////////////////////////
// Compile options needed: -GX
// SetFind.cpp:
// Illustrates how to use the find function to get an iterator
// that points to the first element in the controlled sequence
// that has a particular sort key.
// Functions:
// find Returns an iterator that points to the first element
// in the controlled sequence that has the same sort key
// as the value passed to the find function. If no such
// element exists, the iterator equals end().
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
//////////////////////////////////////////////////////////////////////
#pragma warning(disable:4786)
#include <set>
#include <iostream>
#if _MSC_VER > 1020 // if VC++ version is > 4.2
using namespace std; // std c++ libs implemented in std
#endif
typedef set<int,less<int>,allocator<int> > SET_INT;
void truefalse(int x)
{
cout << (x?"True":"False") << endl;
}
void main()
{
SET_INT s1;
cout << "s1.insert(5)" << endl;
s1.insert(5);
cout << "s1.insert(8)" << endl;
s1.insert(8);
cout << "s1.insert(12)" << endl;
s1.insert(12);
SET_INT::iterator it;
cout << "it=find(8)" << endl;
it=s1.find(8);
cout << "it!=s1.end() returned ";
truefalse(it!=s1.end()); // True
cout << "it=find(6)" << endl;
it=s1.find(6);
cout << "it!=s1.end() returned ";
truefalse(it!=s1.end()); // False
}
プログラムの出力
s1.insert(5)
s1.insert(8)
s1.insert(12)
it=find(8)
it!=s1.end() returned True
it=find(6)
it!=s1.end() returned False