如何在无序映射中重用字符串类的哈希函数用于自定义类?

时间:2012-03-24 03:17:23

标签: c++ hash tr1 unordered-map hash-function

我在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
    }
};

1 个答案:

答案 0 :(得分:2)

您可以使用: return hash<string>()(c.get_name());

检查帖子的第二条评论

object as a key of unordered map