散列映射和无序映射之间的区别? 我最近发现,在C++中实现哈希映射将被称为无序-map map < /> > < /P>

散列映射和无序映射之间的区别? 我最近发现,在C++中实现哈希映射将被称为无序-map map < /> > < /P>,c++,stl,hashmap,unordered-map,C++,Stl,Hashmap,Unordered Map,当我查找为什么他们不只是使用hash\u-map时,我发现unordered\u-map解决的hash\u-map的实现显然存在兼容性问题(更多信息) < Wiki页面没有给出更多的信息,所以我想知道有没有谁知道一些代码,比如“代码> Hash映射” 无序的映射> 解析。< p>因为在C++标准库中没有定义哈希表,标准库的不同实现者将提供一个非标准哈希表,通常命名为hash\u-map。因为这些实现不是按照标准编写的,所以它们在功能和性能保证方面都有细微的差异 从哈希表开始,已添加到C++标准库

当我查找为什么他们不只是使用
hash\u-map
时,我发现
unordered\u-map
解决的
hash\u-map
的实现显然存在兼容性问题(更多信息)


< Wiki页面没有给出更多的信息,所以我想知道有没有谁知道一些代码,比如“代码> Hash映射”<代码> <代码>无序的映射> <代码>解析。

< p>因为在C++标准库中没有定义哈希表,标准库的不同实现者将提供一个非标准哈希表,通常命名为
hash\u-map
。因为这些实现不是按照标准编写的,所以它们在功能和性能保证方面都有细微的差异

从哈希表开始,已添加到C++标准库标准中。决定为该类使用一个备用名称,以防止与这些非标准实现发生冲突,并防止代码中有

hash_table
的开发人员无意中使用新类


所选择的替代名称是
unordered\u map
,它实际上更具描述性,因为它暗示了类的映射接口及其元素的无序性质。

这是表明
std
名称空间没有达到他们所希望的效果的原因之一。我不知道是什么合理地防止了这个问题。MSVC的标准扩展库有stdext。@MichaelBurr
名称空间std
怎么在这里失败了?没有一个非标准的
hash\u map
s在这个名称空间中(至少在法律上是这样),所以我不太理解@Stef。。。有这样的来源吗?@rubenvb来自:“由于一些供应商在名称空间std中定义了具有hash_*名称的类,因此使用该名称定义标准类将导致严重的向后兼容性问题”。