Конструктор по умолчанию unordered_map
в С++ 11 выглядит следующим образом:
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
с пользовательской хеш-функцией, но это второй аргумент конструктора.
Какое количество ведер следует использовать? Есть ли волшебное значение, которое я могу использовать, чтобы сообщить контейнеру, что он должен решать сам? В противном случае, есть ли эвристика, которую я могу использовать, чтобы угадать хороший номер корзины на основе чего-то вроде количества ключей, которые, как я ожидаю, будет содержать моя карта? Должен ли я даже заботиться?