| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > unordered_map и ключ-структура |
| Автор: VSB 13.1.2013, 21:38 | ||||
| Есть необходимость в LRU cache. Пытаюсь приспособить для себя http://timday.bitbucket.org/lru.html но есть проблема с тем, что ключом для внутреннего map или unordered_map должна быть такая структура.
собственно вопрос, как для нее правильно написать хеш функцию или функцию сравнения (да и собственно, через что будет быстрее - map или unordered_map) Приспособить в том плане, что а студии пока нет variadic templates и класс пришлось объявить так (жестко для unordered_map)
|
| Автор: Earnest 15.1.2013, 12:16 |
| Функцию сравнения проще всего (и быстрее) написать через memcmp - у тебя ведь плоская структура. Для хэш-функции числа обычно замешиваются с большими простыми множителями. Типа Hash = A*X + B*Y + C*Z. Где-то здесь на форуме я приводила вариант для 2 членов. Хэш-map теоретически быстрее (при больших числах). |