Как повторно использовать функцию хеширования строкового класса для пользовательского класса в неупорядоченной карте? - PullRequest
1 голос
/ 24 марта 2012

Я определяю unordered_map в C ++ следующим образом:

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 Ответ

2 голосов
/ 24 марта 2012

Вы можете использовать: <code>return hash<string>()(c.get_name());

Проверить второй комментарий поста

объект в качестве ключа неупорядоченной карты

...