9得票4回答
未排序映射(unordered_map)元素正在被删除

我正在向unordered_map中插入一个{string,MyStruct}对象,稍后遍历unordered_map并选择删除元素。但是,在删除元素之前,我的assert显示unordered_map为空。 这是我的插入代码: my_umap.insert(std::make_pair(...

10得票4回答
无序映射与向量的区别

我正在构建一个小型2D游戏引擎。现在我需要存储游戏对象的原型(所有类型的信息)。一个容器最多会有几千个元素,每个元素都有唯一的键,并且在第一次加载后不会添加或删除任何元素。键值是一个字符串。 各种线程将运行,我需要向每个线程发送一个键(或索引),并使用它来访问其他信息(如纹理用于渲染进程或声...

9得票1回答
一个std::unordered_map的哈希值

根据标准,在std::hash类中不支持容器(更别说无序容器了)。因此,我想知道如何实现这一点。我的代码如下: std::unordered_map<std::wstring, std::wstring> _properties; std::wstring _class; 我...

10得票2回答
STL无序容器的本地迭代器有哪些用途?

在C++标准库的《§23.2.7 无序关联容器[unord.req]》中,表91描述了STL无序关联容器必须满足的额外要求。在该表中,标准规定STL无序容器(即unordered_set、unordered_map、unordered_multiset和unordered_multimap)必...

7得票1回答
哈希表/无序映射的解耦版本

我正在编写一个嵌入式应用程序,但我使用的环境目前不支持C++11。 我需要实现哈希/无序映射(普通的std::map由于性能原因不适用),但似乎找不到干净的方法。 Boost库不想工作而必须引入整个库。即使是SGI的原始STL hash_map也需要多个头文件,并且重复了标准库功能,导致函...

12得票1回答
Visual Studio中unordered_map的神秘行为

我想在VS2010 C ++下使用std :: tr1:unordered_map<unsigned int,double>将大约3,000,000个double值存储在unsigned int 索引下。不幸的是,当我尝试存储2 ^ 21号值时,会抛出异常(好像只有2 ^ 21-1...

12得票2回答
Haskell中高效的哈希映射容器?

我希望使用Haskell计算一个文件中存储的唯一块数。 该块仅是具有512长度的连续字节,并且目标文件大小至少为1GB。 这是我的初步尝试。import Control.Monad import qualified Data.ByteString.Lazy as LB i...

11得票2回答
如何在C++中将std::vector用作std::unordered_map的键类型?

我正在尝试构建一个unordered map来存储n维空间中的点。我知道std::vector符合作为std::map键的所有要求,但是这段代码不能编译。我得到了一长串错误信息,但这似乎是最棘手的: error: no match for call to ‘(const std::ha...

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

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

15得票1回答
将对象从一个unordered_map移动到另一个容器中

我的问题是关于安全性的。我查阅了cplusplus.com和cppreference.com,它们似乎缺乏在std::move期间迭代器的安全性知识。具体来说,使用已移动的对象的迭代器调用std::unordered_map::erase(iterator)是否安全?示例代码: #inclu...