将指针散列为C ++ STL中unordered_map的键

时间:2014-08-04 18:10:29

标签: c++ hash stl unordered-map

我发布了类似的quetion关于在C ++ STL中使用指针作为键的地图。当用作Keys时,指针如何在unordered_maps中进行哈希处理。更具体地说,如果我定义:

std::unordered_map< CustomClass*, int > foo;

默认的C ++ std :: hash实现是否可以处理这些指针?使用安全吗?这是好习惯吗?

1 个答案:

答案 0 :(得分:9)

std::hash<T*>已定义,但其运作方式依赖于实现。使用它肯定是安全的,我认为这是一个好习惯 - 只要它是你需要的指针作为键,而不是对象内容本身。