equal_to<ключ> boost:: неупорядоченная мультикарта
Какова цель equal_to<Key>
функция в boost::unordered_multimap?
В документации сказано, чтобы определить, являются ли два ключа одинаковыми, но не совсем понятно для меня.
Я думаю, что с помощью функции equal_range
с помощью клавиши ввода K он извлекает ключ пар, значение, которое проиндексировано в соответствующем сегменте, но также ключи которого совпадают с K в соответствии с equal_to<key>
функция.
Пожалуйста, поправьте меня, если я ошибаюсь.
1 ответ
typename Hash = boost::hash<Key>
Параметр шаблона используется для хеширования ключей для распределения записей в хеш-таблице. Однако несколько ключей могут иметь одно и то же значение хеша (коллизия). Вот почему вам также нужно typename Pred = std::equal_to<Key>
: найти соответствующий ключ, если он есть, среди всех записей, ключи которых хэшированы на одно и то же значение.