问题标签 [unordered-map]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2249 浏览

c++ - 升压时从位集到位集的无序(散列)映射

我想使用由 boost's 实现的缓存,unordered_map从 adynamic_bitset到 a dynamic_bitset。当然,问题在于 bitset 中没有默认的散列函数。这似乎不是一个概念问题,但我不知道如何解决技术问题。我该怎么做?

0 投票
5 回答
93952 浏览

c++ - 在 std::map 和 std::unordered_map 之间进行选择

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

0 投票
2 回答
46277 浏览

c++ - c++ unordered_map 用 g++ 编译问题

我在 Ubuntu 中使用 g++

g++ (Ubuntu 4.4.3-4ubuntu5) 4.4.3

我有这个代码

当我编译使用

我有错误

我错过了什么吗?

0 投票
2 回答
18093 浏览

c++ - 如何使用 boost::unordered_map

对于我的应用程序,我需要使用哈希映射,因此我编写了一个测试程序,其中我将一些基类实例存储在 boost::unordered_map 中。但是我想通过调用返回基类派生类的特殊函数来访问实例,并且我将这些函数的参数用于 unordered_map 的哈希键。如果没有找到具有某些参数的类,则生成一个类并将其存储在 map 中。该程序的目的可能不清楚,但这里是代码。

问题是,我希望 UMAP 的大小等于 modnum,但它总是大于 modnum,这意味着有多个实例具有相同的参数和 HASHCODE。

我的问题的解决方案是什么?请帮忙。
谢谢

0 投票
1 回答
2348 浏览

c++ - 用 Boost.Bimap 替换向量和哈希表

我正在寻找将 avector<string>和一个boost::unordered_map<string, size_t>映射字符串替换为前者中的索引boost::bimap

我应该使用什么实例化bimap?到目前为止,我想出了

但我不确定我现在是否已经反转了集合类型。另外,我想知道是否应该更改关系类型的集合。avector_of_relation是我最好的选择,还是 a set_of_relation,或者只是使用默认值?

0 投票
4 回答
1481 浏览

c++ - 在 C++0x 标准中会有 unordered_map,这与 boosts unordered_map 相比如何?

哪个更有效率?有什么好的基准吗?

0 投票
1 回答
417 浏览

c++ - 覆盖 new 但告诉 unordered_map 不要使用它

我正在为 C/C++ 编写一个垃圾收集器作为编程练习,其中一部分涉及全局覆盖new. 但是,垃圾收集器也使用 an unordered_map(存储指向已分配块的指针),如果地图尝试使用覆盖的 new (我认为它会尝试无限循环),事情会变得严重混乱。为了创建它,我想使用placement new 来避免调用被覆盖的new:

(mem_t 是我定义的结构,但我认为这不相关。)运行时,此代码在 unordered_map 构造函数中出现段错误。我认为使用placement new 可以解决问题,但显然不是。我很确定 unordered_map 在内部调用 new 。会给它一个分配器(我该怎么做?)解决这个问题?如果不是,这个问题可以解决吗?

0 投票
3 回答
11336 浏览

c++ - C++ vs vs vs

我目前正在寻找 std::map 的更好替代方案,并且遇到了帖子标题中提到的类。有人可以澄清它们之间的区别,不是在性能/API 方面,而是在它们与当前和未来标准相关的位置方面。

0 投票
2 回答
4738 浏览

c++ - boost::unordered_map.emplace(Args&&... args) 是如何工作的?

根据文档它:

当且仅当容器中没有具有等效键的元素时,才在容器中插入一个使用参数 args 构造的对象。

但是唯一可以插入到 unordered_map 中的对象具有类型 std::pair<Key const, Mapped>(因为要插入的对象需要键和值),众所周知,它采用具有恰好两个参数的构造函数。那么为什么它使用可变参数函数形式呢?当然,我对此完全不了解。

0 投票
4 回答
11144 浏览

c++ - 为什么 map 会比 unordered_map 快得多?

我实现了一个搜索缓存结果,它由 State 类型的键(具有 7 个短整数的类)和类型的值Score(3 个双精度类)组成。使用 unordered_map 至少比 map 慢 20 倍。为什么?

编辑:该死!我的哈希函数是

我忘了return retval,所以一切都在碰撞!我希望 unordered_map 有一个 hash_function_quality() 函数来报告平均碰撞次数。