unordered-map相关内容

在hash_map / unordered_map中的项目顺序是否稳定?

它保证,当一个hash_map / unordered_map加载相同的项目,它们将有相同的顺序时迭代?基本上我有一个hashmap,我从一个文件加载,并从其中定期喂一个有限数量的项目到一个例程,之后我释放hashmap。在项目消耗后,我重新加载相同的文件到hashmap,并希望获得下一批项目,在我停止上一次的点后。 解决方案 技术上没有,它们不能保证在任何特定的 然而,在实践中,由 ..
发布时间:2016-10-14 22:19:53 C/C++开发

为什么我不能用std :: unordered_map替换std :: map

这个问题可能有点粗略,因为我没有在家里可用的代码,但我知道这个东西否则会整个周末错误。 我试图更新一些代码到C + + 11我开始替换一些 std :: map 与 std :: unordered_map 。代码只使用 std :: map :: find()来访问地图中的特定元素,所以我想替换应该很容易。返回的迭代器存储在 auto -typed变量( auto res = map.fi ..
发布时间:2016-10-14 21:41:20 C/C++开发

C ++ stl unordered_map实现,引用有效性

对于 std :: map 和 std :: tr1 :: unordered_map ,我看到从标准: 在unordered_map容器中引用元素在 中仍然有效,即使在重新哈希后也是如此。 他们是如何做的(实现方式)?它们是否将所有条目保存为一种链接列表,然后散列表只存储指向元素的指针? 解决方案 是的,涉及链接列表,尽管不太符合你的建议。 2011标准说(23.2. ..
发布时间:2016-10-14 21:02:34 C/C++开发

什么时候使用std :: unordered_map :: emplace_hint?

我知道如何使用 std :: unordered_map :: emplace ,但是如何使用 emplace_hint ? cplusplus 或 cppreference 提供了一组示例,说明我们如何知道在哪里放置元素。 任何人都可以提供一些信息 解决方案 什么是 unordered_map 潜在地使用提示?好吧,如果迭代器寻址一个与 emplace_hint 要求插入的元素具有 ..
发布时间:2016-10-14 19:52:57 C/C++开发

如何在map和unordered_map之间选择?

假设我想使用字符串作为键来映射数据。 我应该选择什么容器, map 或 unordered_map ? unordered_map 占用更多的内存,所以让我们假设内存不是一个问题,关注的是速度。 code> unordered_map 通常应给出O(1)的平均复杂度与O(n)的最差情况。 在什么情况下它会得到O(n)? 映射何时比 unordered_map 获得更多的时间效率? ..
发布时间:2016-10-14 11:40:06 C/C++开发

NaN是关联容器的有效键值吗?

考虑以 double 键入的C ++中的有序和无序关联容器。 是 NaN 有效的密钥类型? 对于有序容器,我应该说“不”,因为它不遵守严格的弱排序。 对于无序容器,我不知道。 这里是在GCC 4.6.2中发生的: p> #include #include #include #includ ..
发布时间:2016-10-14 10:31:15 C/C++开发

如何实现std :: unordered_map

c ++ unordered_map冲突处理,调整大小和重新散列 这是我打开的上一个问题,我看到我对unordered_map的实现有很多困惑。我相信很多其他人都与我混淆。基于我没有阅读标准的知识: 每个unordered_map实现存储一个链接到外部 节点的链表数组桶...不,这是不是最多的 有效的方式来实现哈希映射为最常见的用途。 不幸的是,在规范的 unordered_m ..
发布时间:2016-10-13 11:24:19 C/C++开发

C ++ STL unordered_map如何解决冲突?

C ++ STL unordered_map如何解决冲突? 查看 http://www.cplusplus.com/reference/unordered_map/unordered_map/ ,它说”唯一键 容器中没有两个元素可以有等效的键“。 这意味着容器确实正在解决冲突。但是,该页不告诉我它是怎么做的。我知道一些方法来解决冲突,如使用链接列表和/或探测。我想知道的是c ++ S ..
发布时间:2016-10-13 11:16:59 C/C++开发