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>: найти соответствующий ключ, если он есть, среди всех записей, ключи которых хэшированы на одно и то же значение.

Другие вопросы по тегам