次の方法で共有


HashKey

更新 : 2007 年 11 月

指定されたキーのハッシュ値を計算します。

template<class ARG_KEY>
AFX_INLINE UINT AFXAPI HashKey(
      ARG_KEY key 
);

パラメータ

  • ARG_KEY
    マップ キーにアクセスするために使うデータ型を指定するテンプレート パラメータ。

  • key
    そのハッシュ値を計算するキー。

戻り値

キーのハッシュ値を返します。

解説

この関数は、CMap::RemoveKey 関数から直接呼び出され、CMap::Lookup 関数と CMap::Operator [] 関数からは間接的に呼び出されます。

既定の実装では、key を右方向に 4 ポジション シフトしてハッシュ値を作成します。アプリケーションに適合するハッシュ値を返すように、この関数をオーバーライドします。

使用例

template <> UINT AFXAPI HashKey(unsigned __int64 key)
{
   // Generate the hash value by XORing the lower 32 bits of the number 
   // with the upper 32 bits
   return(UINT(key) ^ UINT(key >> 32));
}

必要条件

ヘッダー : afxtempl.h

参照

概念

MFC マクロとグローバル

参照

CMap クラス