Функция шаблона boost::hash_combine принимает ссылку на хэш (называемый seed) и объект v. Согласно docs, он объединяет seed с хешем v от
seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
Я вижу, что это детерминировано. Я вижу, почему используется XOR.
Я уверен, что добавление помогает в сопоставлении одинаковых значений широко, так что хэш-таблицы зондирования не будут разрушаться, но может ли кто-нибудь объяснить, что такое волшебная константа?
