我发布了类似的
quetion关于在C STL中使用指针作为键的地图.当用作Keys时,指针如何在unordered_maps中进行哈希处理.更具体地说,如果我定义:
std::unordered_map< CustomClass*,int > foo;
默认的C std :: hash实现是否可以处理这些指针?使用安全吗?这是好习惯吗?
解决方法
std::hash<T*>
已定义,但其运行方式的细节取决于实现.它肯定是安全的,我认为这是一个好习惯 – 只要它是你需要的指针作为键,而不是对象内容本身.