的hash_map和unordered_map的区别?
-
22-07-2019 - |
题
我最近发现,在C ++中的哈希图的实施将被称为unordered_map
。
当我抬头一看,为什么他们不只是使用hash_map
,我发现,显然有与hash_map
的实现,unordered_map
做出决议(更多关于它的此处)。
这是维基页面并没有给更多的信息,所以我想知道是否有人知道一些与hash_map
是unordered_map
解决了问题。
解决方案
由于有一个在C ++标准库中定义的无散列表,标准库的不同实现者将提供一个非标准哈希表通常命名为hash_map
。因为这些实现不是写以下标准他们都有在功能和性能保证细微的差别。
与 C ++ 11开始哈希表实现已被添加到C ++标准库标准。这是决定使用备用名称为类防止碰撞与这些实施不标准,并防止进一步使用新的类的通过谁曾在其代码hash_table
开发者。
所选择的备用名称是unordered_map
这确实是更具描述性的,因为它暗示了类的地图界面和它的元素的无序性质。
不隶属于 StackOverflow