Для простой структуры C ++, которая имеет три целых числа для идентификации уникальной структуры, что может быть хорошей реализацией хеш-функции, если не известно слишком много о реалистических значениях a, b и c. Мне нужно использовать структуру в качестве ключа к unordered_map?
struct Key {
int a, b, c;
}
Передайте всю структуру в Murmurhash: https://sites.google.com/site/murmurhash/
Не пытайтесь смешивать значения самостоятельно (например, совет выше для умножения, сложения, xor и т. Д.). Весь смысл использования хэш-функции заключается в том, что это уже может смешивать их очень эффективно. Если вы предварительно смешаете, вы просто убираете полезную энтропию.
Других решений пока нет …