unordered-map相关内容

基本问题:指向 unordered_maps (C++) 中对象的指针

我是 C++ 编程的新手,非常感谢那些不需要太多先验知识的回复. 感谢这里的建议,我创建了一个无序地图: typedef std::tr1::unordered_map地图; 该映射中的数据是指向 Strain 类实例的指针.一旦创建了这些实例,我就会创建指向它们的指针,然后将这些指针添加到我的哈希表 (hmap trainTable) 和另一个向量 (vector liveStrain ..
发布时间:2021-09-14 20:09:44 C/C++开发

C ++中的等效LinkedHashmap?

我有一个 Java 程序,我想将其转换为 C++.因此,Java 代码中使用了一个 Linkedhashmap 数据结构,我想将其转换为 C++.C++ 中是否有 LinkedHashmap 的等效数据类型? 我尝试使用 std::unordered_map,但是,它不保持插入的顺序. 解决方案 C++ 不提供具有模仿 Java 的 LinkedHashMap 行为的集合模 ..
发布时间:2021-09-14 20:09:41 C/C++开发

遍历 C++ unordered_map 的时间复杂度

我知道 C++ STL 中的 unordered_map 被实现为哈希表,由与哈希值对应的桶组成.插入、删除和元素搜索的时间保证摊销不变.但是我不太明白迭代器是如何处理这个数据结构的.当我增加迭代器时,它如何知道下一个位置在哪里?当我使用迭代器遍历 unordered_map 时,时间复杂度是多少?用于查找迭代器下一个位置的时间是常数吗?我在The C++ Standard Library: A ..
发布时间:2021-08-30 19:19:07 C/C++开发

在 unordered_map 上构建的混合链表?

嗨,我想知道我是否可以自己建立另一个链接结构,以实际上在unordered_map的键之间建立自己的顺序?还是有一个标准库?我需要unordered_map的快速查找功能... 例如: #include#include结构链接器{字符串* pt;字符串* child1;字符串* child2;};unordered_map ..
发布时间:2021-05-29 21:16:22 C/C++开发

解析编译错误:没有匹配函数可调用'std :: pair<,> :: pair()'

这是“> assigning-of-unordered-map的后续问题对对象.这是关于编译器错误解释的问题(而不是重复问题,因为该问题已得到完全回答).有人问我是否看过错误,并发布错误,以便其他人可以从了解中受益.这是第一个错误: #include使用命名空间std;struct foo {int n;foo(int n):n(n){};//foo():n( ..
发布时间:2021-05-09 20:31:06 C/C++开发

定时向量vs地图vs unordered_map查找

我对矢量查找与地图查找感到好奇,并为此编写了一个小测试程序.它似乎矢量总是比我使用它的方式更快.测试有任何偏见吗?运行的结果在底部.它以纳秒为单位,但是gcc在我的平台上似乎不支持它. 使用字符串进行查找当然会改变很多事情. 我正在使用的编译行是:g ++ -O3 --std = c ++ 0x -o lookup lookup.cpp #include#in ..
发布时间:2021-04-30 19:55:38 C/C++开发

两个相同的unordered_maps的顺序是否相同?

换句话说,如果我填写两个 unordered_map 或 unordered_set ,则内容完全相同且哈希函数相同的对象将对其进行迭代,从而给出相同的顺序键/值对? 如果是,那么要满足的条件是什么(例如,相同的哈希函数,相同的键,不一定是相同的值). 解决方案 否.例如,不要求将具有相同散列的对象以任何特定顺序放置.实际上,一般来说,无序映射是不可能做到这一点的,因为它只能访问的信 ..
发布时间:2021-04-20 18:39:18 C/C++开发

检查unordered_maps的unordered_map是否包含密钥的最简单方法

我正在使用unordered_maps的unordered_map,这样我就可以使用“多键"语法引用元素: my_map [k1] [k2] . 是否存在使用相同的“多键"语法在尝试访问元素之前检查它是否存在的简便方法?如果没有,最简单的方法是什么? 解决方案 如果您打算测试密钥的存在,则不会使用 my_map [k1] [k2] 因为 operator [] 将如果该 ..
发布时间:2021-04-20 18:32:59 C/C++开发

在C ++ std :: unordered_map中预分配存储桶

我正在使用gnu ++ 0x中的 std :: unordered_map 来存储大量数据.我想为大量元素预分配空间,因为我可以限制使用的总空间. 我想做的是打电话: std :: unordered_map m;m.resize(pow(2,x)); 其中x是已知的. std :: unordered_map 不支持此功能.如果可能的话,我宁愿使用 std :: unorde ..
发布时间:2021-04-19 21:03:19 C/C++开发

std :: unordered_map初始化

当我使用操作符[]访问 std :: unordered_map中的元素时首次自动创建.对其初始化有什么保证(如果有的话)?(保证要初始化值,还是只能构造)? 示例: std :: unordered_map尺寸;char * test =新的char [10];大小[测试] + = 10; 此序列末尾的size [test]是否保证为10? 解 ..
发布时间:2021-04-19 19:25:57 C/C++开发

如何测量std :: unordered_map的内存使用情况

我们知道基于哈希表的容器实现,例如 std :: unordered_map 使用大量内存,但是我不知道多少? 除了空间复杂度符号外,不考虑容器元素是否是指向更大对象的指针: 有什么方法可以计算出运行时此类容器使用了多少个字节? 是否有一种方法可以在运行时告诉任何容器使用多少内存? 解决方案 如果您想获得大致尺寸,我认为 bucket_count()和 max_load_ ..
发布时间:2021-04-19 19:25:00 C/C++开发

从实现谓词的无序映射中删除元素

我想从满足以下作为lambda表达式给出的预测(直方图bin的计数为零)的 std :: unordered_map (直方图)中删除元素(直方图bins) std :: remove_if(begin(m_map),end(m_map),[](const Bin& bin){return bin.second == 0;}); 但GCC-4.6.1抱怨如下 /usr/include/c ..
发布时间:2021-04-19 19:15:58 C/C++开发