7得票1回答
C++标准库中的unordered_map出现了向量下标越界问题

我正在使用std::unordered_map<void *, size_t>来存储一些值,当添加新值时,出现了“vector subscript out of range”的错误。我正在使用Visual Studio 2012,错误跟踪如下: std::vector<st...

11得票2回答
为什么我的unordered_map会自动排序?

我最近在玩 C++ 标准库中新加入的 unordered_map 。 我写了如下代码,创建一个 unordered_map ,填充它,再将其打印出来: unordered_map<int,string> m1; m1[5]="lamb"; m1[2]="ha...

144得票5回答
在std::map和std::unordered_map之间做出选择

现在std中有一个真正的哈希映射unordered_map,那么在实际存在它的系统上,为什么(或何时)我仍然想使用老旧的map而不是unordered_map呢?有没有任何明显的情况是我立即看不到的?

9得票1回答
大小写不敏感的无序字符串映射容器 unordered_map<string, int>

我该如何创建一个不区分大小写的unordered_map&lt;string, int&gt;? 重载key_equal是否足够,还需要更新hasher吗?

7得票1回答
C++17中std::unordered_map的推导指南

我阅读了关于C++17中std::unordered_map的类型推导指南,来源是cppreference。 接着,我尝试运行以下示例,它是从cppreference复制而来的。 #include &lt;unordered_map&gt; int main() { // std::uno...

31得票1回答
什么时候使用std::unordered_map::emplace_hint?

我知道如何使用 std::unordered_map::emplace,但是如何使用 emplace_hint 呢? cplusplus 和 cppreference 都没有提供一组示例,说明我们如何知道元素应该放在哪里。 有人能够提供关于此的信息或者提供一些示例/说明,在什么情况下我们可...

13得票1回答
遍历C++无序映射的时间复杂度

我知道C++ STL中的unordered_map是由哈希表实现的,包含对应于哈希值的桶(bucket)。插入、删除和元素查找的时间保证为平均常数时间(amortized constant)。然而,我不太理解迭代器在这个数据结构上的工作原理。当我递增迭代器时,它如何知道下一个位置在哪里?使用迭...

11得票2回答
Boost.Intrusive和unordered_map

我想要使用一个侵入式的unordered_map。但是库中只有一个unordered_set。还有一个侵入式的哈希表,但我不确定它是否具有相同的功能,而且它的接口也不同。 如果我错了并且错过了unordered_map的链接,那请告诉我。 如果我没有错,是否有教程可以帮助我实现一个unorde...

49得票9回答
使用与键类型不同的类型在std::unordered_map中查找元素:find函数?

我有一个使用字符串类型作为键的 unordered_map: std::unordered_map&lt;string, value&gt; map; 对于string,提供了一个std::hash的专门实现,以及一个合适的operator==。 现在我还有一个“字符串视图”类,它是指...

12得票4回答
为什么map比unordered_map快得多?

我实现了一个搜索缓存结果,由类型为 State(一个带有 7 个 short int 的类)的键和类型为 Score(一个带有 3 个 double 的类)的值组成。使用 unordered_map 至少比 map 慢 20 倍。为什么? 编辑:该死!我的哈希函数是 namespace st...