Fungsi boost::hash_combinetemplate mengambil referensi ke hash (dipanggil seed) dan objek v. Menurut dokumen , ini digabungkan seeddengan hash voleh
seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
Saya dapat melihat bahwa ini deterministik. Saya mengerti mengapa XOR digunakan.
Saya yakin penambahan membantu dalam memetakan nilai yang sama secara terpisah sehingga tabel hash probing tidak akan rusak, tetapi dapatkah seseorang menjelaskan apa konstanta ajaib itu?