Soalan:
Rancangan:: fungsi hash_combine menggabungkan "nombor ajaib" (0x9e3779b9) dalam operasi pencincangannya. Apakah tujuan dan kepentingan nombor ini?
Jawapan:
Nombor ajaib dalam boost::hash_combine ialah nilai 32-bit yang diperoleh daripada timbal balik nisbah emas (phi). Ia tidak mengandungi corak yang boleh dilihat dan mempunyai taburan kira-kira sekata 0s dan 1s. Kemasukannya berfungsi berbilang fungsi:
Dengan menggabungkan rawak dan penyebaran, nombor ajaib membantu mengedarkan nilai secara sama rata dalam jadual cincang, mengurangkan potensi penurunan prestasi yang disebabkan oleh pengelompokan.
Atas ialah kandungan terperinci Mengapa Terdapat 'Nombor Ajaib' dalam rangsangan::hash_combine?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!