1

次のように、C++でunordered_mapを定義しています。

unordered_map<CustomClass, int, CustomClassHash, CustomClassEq> myMap;

CustomClassEqを正常に定義できたと仮定します。CustomClassのハッシュが欲しいです。クラス内の文字列属性のハッシュに委任するCustomClassHash。CustomClassHashの定義内で文字列クラスのハッシュ関数を再利用できる方法はありますか?

これが私がやりたいことです:

struct CustomClassHash {
    long operator()(const CustomClass &c) const {
        string s = c.getString();
        // TODO: return the hash of s
    }
};
4

1 に答える 1

2

あなたが使用することができます: return hash<string>()(c.get_name());

投稿の2番目のコメントを確認してください

順序付けられていないマップのキーとしてのオブジェクト

于 2012-03-24T04:53:37.523 に答える