boost::hash_combineŞablon işlevi (denilen bir karma bir referans alır seed) ve bir nesne v. Göre docs , bu birleştirir seedve karma ile vtarafından
seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
Bunun deterministik olduğunu görebiliyorum. XOR'un neden kullanıldığını anlıyorum.
Bahse girerim, ekleme benzer değerleri birbirinden geniş bir şekilde haritalandırmaya yardımcı olur, böylece araştırma hash tabloları bozulmaz, ancak birisi sihirli sabitin ne olduğunu açıklayabilir mi?