С++ 11 unordered_map
конструктор по умолчанию выглядит следующим образом:
explicit unordered_map( size_type bucket_count = /*implementation-defined*/,
const hasher& hash = hasher(),
const key_equal& equal = key_equal(),
const allocator_type& alloc = allocator_type() );
Я хочу создать unordered_map
с пользовательской хешерной функцией, но это второй аргумент конструктору.
Какой подсчет ведра я должен использовать? Есть ли волшебное значение, которое я могу использовать, чтобы сообщить контейнеру о себе? В противном случае, существует ли эвристика, которую я могу использовать для оценки хорошего числа ведра на основе чего-то вроде количества ключей, которые я ожидаю, чтобы моя карта содержала? Должен ли я даже заботиться?