Здравствуйте, watchmaker, Вы писали:
W>Конечно не только. Там используются алгоритмы не сложнее MurmurHash2. Коллизий — тьма. Вот пример подобрал: http://ideone.com/GL7Ngk
У меня под рукой только какой-то драфт, судя по нему, это несоответствие стандарту (18.7.1-8):
Remark: an implementation should return different values for two type_info objects which do not compare equal.
W>Конечно, для ограниченного множества типов можно проверить, что hash_code попарно не совпадают (например у типов signed и unsigned
), и если это так, то использовать этот метод. Но что программа должна будет делать, hash_code внезапно начнут совпадать? Использовать другой метод? Тогда лучше на него сразу и переключится.
Ну печально это.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.