Я читал в других сообщениях, что это лучший способ комбинировать хэш-значения. Может кто-нибудь, пожалуйста, сломайте это и объясните, почему это лучший способ сделать это?
template <class T>
inline void hash_combine(std::size_t& seed, const T& v)
{
std::hash<T> hasher;
seed ^= hasher(v) + 0x9e3779b9 + (seed<<6) + (seed>>2);
}
Изменить: Другой вопрос заключается только в запросе магического числа, но я хотел бы узнать о всей функции, а не только этой части.