Иногда вам нужно взять хэш-функцию указателя; а не объект, на который указывает указатель, но сам указатель. В большинстве случаев, люди просто пунт и используют значение указателя как целое число, отрубают некоторые высокие биты, чтобы сделать его пригодным, возможно, смещают знаковые нулевые биты внизу. Вещь, значения указателя не обязательно хорошо распределены в кодовом пространстве; на самом деле, если ваш распределитель выполняет свою работу, есть отличная возможность, что все они собраны вместе.Хеширование значений указателя
Итак, на мой вопрос, есть ли у кого-нибудь развитые хэш-функции, которые хороши для этого? Возьмите 32- или 64-битное значение, возможно, получив в нем 12 бит энтропии где-то и равномерно распределите его по 32-разрядному номеру.
Возможный дубликат [Целая функция хэша хороша, которая принимает целочисленный хэш-ключ?] (Http://stackoverflow.com/questions/664014/what-integer-hash-function-are-good-that-accepts- a-integer-hash-key) –