次の方法で共有


multiset::key_comp

多重セットで使用される順序のキーに比較オブジェクトのコピーを取得します。

key_compare key_comp( ) const;

戻り値

要素の順序を指定するには、テンプレート パラメーター Compareに多重セットが使用する関数オブジェクトを返します。

Compareの詳細については、multiset Class のトピックの " 解説 " を参照してください。

解説

格納されているオブジェクトには、メンバー関数を定義します:

bool operatorconst Key& (xy) const Key&

x が 厳密には並べ替え順序の y を 指定する場合は true を返すかが。

key_comparevalue_compare の両方が Compareテンプレート パラメーターのシノニムであることに注意してください。どちらの型も設定、明確なクラス マップと multimap との互換性のために、同一であるクラスと多重セットに提供されます。

使用例

// multiset_key_comp.cpp
// compile with: /EHsc
#include <set>
#include <iostream>

int main( )
{
   using namespace std;
   
   multiset <int, less<int> > ms1;
   multiset <int, less<int> >::key_compare kc1 = ms1.key_comp( ) ;
   bool result1 = kc1( 2, 3 ) ;
   if( result1 == true )   
   {
      cout << "kc1( 2,3 ) returns value of true, "
           << "where kc1 is the function object of s1."
           << endl;
   }
   else   
   {
      cout << "kc1( 2,3 ) returns value of false "
           << "where kc1 is the function object of ms1."
           << endl;
   }

   multiset <int, greater<int> > ms2;
   multiset <int, greater<int> >::key_compare kc2 = ms2.key_comp( ) ;
   bool result2 = kc2( 2, 3 ) ;
   if( result2 == true )   
   {
      cout << "kc2( 2,3 ) returns value of true, "
           << "where kc2 is the function object of ms2."
           << endl;
   }
   else   
   {
      cout << "kc2( 2,3 ) returns value of false, "
           << "where kc2 is the function object of ms2."
           << endl;
   }
}
  
  

必要条件

ヘッダー: <set>

名前空間: std

参照

関連項目

multiset Class

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