boost::hash_combine
템플릿 함수 (라는 해시 참조 소요 seed
) 및 오브젝트 v
. 문서 에 따르면 by seed
의 해시와 결합 v
됩니다.
seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
이것이 결정적이라는 것을 알 수 있습니다. XOR이 사용되는 이유를 알았습니다.
이 추가는 유사한 값을 넓게 매핑하는 데 도움이되므로 해시 테이블을 조사하는 것이 분해되지는 않지만 누군가 마법 상수가 무엇인지 설명 할 수 있습니까?