Re[3]: Randomization
От: Qbit86 Кипр
Дата: 11.10.17 08:08
Оценка: +2 -1
Здравствуйте, MT-Wizard, Вы писали:

MW>не согласен с настолько жестоким ударом по ничего не подозревающим программистам


Каким ещё «жестоким ударом»? Что хэш-функция перемешивает биты? Как раз наоборот, Принцип Наименьшего Удивления нарушается в случае g++, где для каких-то избранных типов хэш-функция вдруг перестаёт перемешивать биты а возвращает аргумент как есть, просто потому что у него размер такой же, как у хэш-значения. А для чего ещё у них есть такие внезапные оптимизации? Для uint8_t тоже? Для uint128_t просто младшие биты возьмёт?

У стандартных алгоритмов, использующих хэширование, должны быть перегрузки, принимающие хэш-функцию. И если достаточно «тривиальной» хэш-функции — то её тривиально и самому реализовать и явно передать. А по умолчанию пусть будет «рандомизированная» функция.
Глаза у меня добрые, но рубашка — смирительная!
Отредактировано 11.10.2017 8:10 Qbit86 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.