2
เพิ่มจำนวนเวทย์มนตร์ :: hash_combine
boost::hash_combineฟังก์ชั่นแม่แบบใช้การอ้างอิงถึงกัญชา (เรียกว่าseed) vและวัตถุ ตามเอกสารมันรวมseedกับแฮชของvโดย seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2); ฉันเห็นว่านี่เป็นปัจจัยกำหนด ฉันเห็นสาเหตุที่ใช้ XOR ฉันพนันได้เลยว่าการเพิ่มจะช่วยในการทำแผนที่ค่าที่คล้ายกันออกจากกันอย่างกว้างขวางดังนั้นตารางแฮชการตรวจสอบจะไม่พังทลาย แต่มีใครอธิบายได้ไหมว่าค่าคงที่ของเวทมนตร์คืออะไร