Зачем предоставлять хэш-функцию без указания какой-либо реализации ссылки, а также без указания алгоритма ссылки (md5, sha256 и т. Д. И т. Д.)?
Также есть аналогичные функции для структур данных, такие как стандарт C ++, совместимый std::unordered_map/set/multimap/multiset::hash_function
,
Так что я не получаю это:
Зачем предоставлять такие недокументированные методы
Они не без документов.
Детали реализации являются основополагающими для правильного использования хеш-функций, с точки зрения программиста, какова цель этих функций
Реализация не определена, они просто должны использоваться вместе с неупорядоченными контейнерами. Они должны быть как можно более хорошими хэш-функциями, чтобы эффективно распределять элементы в сегменты. Все остальное не указано.
Обратите внимание, что пользователь должен предоставлять их при использовании неупорядоченных контейнеров с пользовательские типы.
Эта функция может быть связана с конкретным алгоритмом?
Почему бы и нет?
Других решений пока нет …