Khi sử dụng thư viện tăng, các fuction boost::hash_combine
công trình như thế này:boost :: hash_combine vs đơn giản XOR'ing
seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
http://www.boost.org/doc/libs/1_46_1/doc/html/hash/reference.html#boost.hash_combine
lợi thế của phương pháp này so với chỉ đơn giản là XOR-ing là gì?
Với XOR-ing, người ta thậm chí có thể sử dụng hàm băm để sử dụng các vùng chứa không có thứ tự làm khóa, trong khi điều này phụ thuộc vào thứ tự.
Có {1,2} băm khác với {2,1} thường được coi là một điều tốt ... –
Vui lòng xem http://stackoverflow.com/questions/8513911/how-to-create-a-good -hash-kết hợp-với-64-bit-đầu ra-cảm hứng-by-boosthash-co; lãnh thổ này bị đánh đến chết – sehe