【发布时间】:2011-08-05 05:40:56
【问题描述】:
unordered_map 的C++0x 默认使用什么位哈希? std::hash 函数返回 size_t。这是否意味着unordered_map 使用了 16 位散列函数?
【问题讨论】:
-
sizeof(std::size_t) * CHAR_BIT位。 -
根据您的问题,我想知道您是否希望散列函数成为流行的东西,例如 SHA256 或 CRC32——事实并非如此。例如,整数只是自己散列。
-
@Kerrek Integers 可能不会自己散列。如果将连续整数放入
unordered_map中,这对性能来说会很糟糕。 -
@Cory:至少 GCC 和 Boost 是这样为基本整数类型实现
std::hash...
标签: c++ c++11 unordered-map