次の方法で共有


set::find (STL Samples)

Visual C++ で 設定 :: 検索 の標準テンプレート ライブラリ関数を使用する方法に (STL) ついて説明します。

template<class _K, class _Pr, class _A>
   class set 
   {
      public:
      // Function 1:
      const_iterator find(const _K& _Kv) const;
   }

解説

[!メモ]

プロトタイプのクラスやパラメーター名はヘッダー ファイルのバージョンと一致しない。ただし読みやすさが向上するように変更されました。

検索 の関数は被制御シーケンスの要素を検索するために使用されます。これは並べ替えキーがパラメーターに一致する被制御シーケンスの最初の要素への反復子を返します。そのような要素が存在しない場合返される反復子は 終了 になります。

使用例

// SetFind.cpp
// compile with: /EHsc
//
//      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().
//////////////////////////////////////////////////////////////////////

#pragma warning(disable:4786)
#include <set>
#include <iostream>

using namespace std ;

typedef set<int> SET_INT;

void truefalse(int x)
{
  cout << (x?"True":"False") << endl;
}

int 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

必要条件

ヘッダー : <set>

参照

概念

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