C++ 11 domyślnego konstruktora unordered_map
„s wygląda następująco:Co powinienem przekazać do argumentu licznika wiad. Unordered_map, jeśli chcę tylko podać funkcję skrótu?
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());
Chcę utworzyć unordered_map
z funkcją zwyczaj hasher, ale jest to drugi argument do konstruktora.
Jakiej liczby wiaderek należy użyć? Czy istnieje wartość magiczna, którą mogę użyć, aby powiedzieć pojemnikowi, aby sam zdecydował? W przeciwnym razie, czy istnieje heurystyka, której mogę użyć do oszacowania dobrego numeru segmentu na podstawie liczby kluczy, które według mnie powinna zawierać moja mapa? Czy powinienem się tym przejmować?
Dobra sztuczka. Nie myślałem o tym. Dzięki za zaglądanie w to. – zneak
Czy jesteś pewien co do 'std :: min'? Jeśli chcesz mieć co najmniej 10 elementów, formuła to 'std :: max (count, 10)'. – fredoverflow