set::key_comp と set::value_comp
Visual C++ で 設定 :: key_comp と 設定 :: value_comp の標準テンプレート ライブラリ関数を使用する方法に (STL) ついて説明します。
template<class _K, class _Pr, class _A>
class set
{
public:
// Function 1:
key_compare key_comp( ) const;
// Function 2:
value_compare value_comp( ) const;
}
解説
[!メモ]
プロトタイプのクラスやパラメーター名はヘッダー ファイルのバージョンと一致しない。ただし読みやすさが向上するように変更されました。
key_comp 関数の戻り値被制御シーケンスの要素の順序を決定する保存された関数オブジェクト。value_comp 関数の戻り値同じ関数 key_comp の関数はを返します。
使用例
// SetComp.cpp
// compile with: /EHsc
//
// Illustrates how to use the key_comp function to obtain a
// function pointer that is the stored function object that
// determines the order of elements in the controlled sequence.
// It also illustrates how to use the value_comp function to
// obtain a function pointer that is the stored function object
// that determines the order of the elements in the controlled
// sequence (same as key_comp result).
//
// Functions:
//
// key_comp Returns a function pointer to the function that
// determines the order of elements in the controlled
// sequence.
// value_comp Returns a function pointer to the function that
// determines the order of elements in the controlled
// sequence (same as key_comp).
//////////////////////////////////////////////////////////////////////
#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.key_comp()(8,10) returned ";
truefalse(s1.key_comp()(8,10)); // True
cout << "s1.value_comp()(8,10) returned ";
truefalse(s1.value_comp()(8,10)); // True
cout << "s1.key_comp()(10,8) returned ";
truefalse(s1.key_comp()(10,8)); // False
cout << "s1.value_comp()(10,8) returned ";
truefalse(s1.value_comp()(10,8)); // False
cout << "s1.key_comp()(8,8) returned ";
truefalse(s1.key_comp()(8,8)); // False
cout << "s1.value_comp()(8,8) returned ";
truefalse(s1.value_comp()(8,8)); // False
}
出力
s1.key_comp()(8,10) returned True
s1.value_comp()(8,10) returned True
s1.key_comp()(10,8) returned False
s1.value_comp()(10,8) returned False
s1.key_comp()(8,8) returned False
s1.value_comp()(8,8) returned False
必要条件
ヘッダー : <set>