unordered-map相关内容
据我所知,我正在正确地做所有事情,并且得到了错误消息: 错误:"unordered_map"未命名类型错误:"mymap"未命名类型 在我的代码中,我有: #include使用命名空间std;//全局变量unordered_mapmymap;mymap.reserve(7000);无效的主要{返回;} 我看不出这里可能缺少什么
..
这是我的代码: int main(int argc,char * argv []){typedef int KeyType;typedef字符串MappedType;typedef std :: pair值类型;typedef boost :: interprocess :: allocator
..
我需要使用一个平均支持恒定时间查找的数据结构.我认为使用 std :: unordered_map 是一种很好的方法.我的数据是数字的“集合". | 115 | 190 | 380 | 265 | 这些数字不必按特定顺序排列.我需要大约 O(1)时间来确定此数据结构中是否存在给定的数字.我有一个使用 std :: unordered_map 的想法,它实际上是一个哈希表(我正确吗?).所以
..
我正在解决LeetCode上的一个问题,但没人能解释我的问题. 问题是这样的: 给出一个任意的赎金票据字符串和另一个包含来自所有杂志的信件的字符串,编写一个函数,如果可以从杂志中构造赎金票据,则该函数将返回true;否则,它将返回false. 杂志字符串中的每个字母在赎金记录中只能使用一次. 注意:您可能会假设两个字符串都只包含小写字母. canConstruct("a
..
C ++库中的内置映射和集合(包括unordered_map和multimap)要求find函数(用于查找特定元素)使用迭代器遍历元素. C ++参考站点声称,使用这些数据结构查找元素平均需要花费恒定时间,这与常规哈希表非常相似.但是,迭代器在查找元素之前是否不必遍历整个列表,平均花费O(n)时间? 解决方案 您的陈述不正确: map,set,multimap和multiset通常被
..
我遇到了以下问题:我正在编写一个简单的chip8仿真器,并且具有大量的解释器函数类,我想通过操作码作为键来访问它们,例如字典.那是要替换庞大的开关盒,我知道为此目的,无序映射是一个很好的使用工具. 由于作用域的概念相同,因此这种方法仅适用于函数(由于它们的静态作用域),因此很容易使用,而不适用于类.我对指针和C ++本身有些陌生,并且不确定如何解决该问题(尝试了很多工作,例如使成员函数静态化
..
我知道clear()操作的复杂度在容器的大小上是线性的,因为必须调用析构函数。但是原始类型(和POD)呢?似乎最好的办法是将向量大小设置为0,以使复杂度恒定。 如果可能的话,std是否也可能:: unordered_map? 解决方案 似乎最好的方法是设置矢量大小 通常,将向量的大小调整为零与向量。因此,将 vector 的大小设置为零比调用 clear()没有优势-两者本
..
对于我的程序,我需要具有无序的密钥。为了完成这项工作,我使用了std :: unordered_map容器。这是一个测试代码: #include #include #include int main() { std :: unordered_map托托
..
我正在尝试创建 std :: functions 的无序映射。其中键是字符串,您将在其中查找要调用的函数,而该函数是值。 我写了一个小程序: #include #include #include #include void func1() { std :: cou
..
有没有什么好方法可以使用unordered_map,以便您可以在恒定时间内(平均情况)通过成员变量访问对象?下面的示例具有此功能,但需要将每个 Person 的名称复制为键: #include #include #include #include 类Person { publ
..
我正在选择将事物放入unordered_map的两种方法之一: std :: unordered_map地图; map.emplace( std :: piecewise_construct, std :: forward_as_tuple(a), std :: forward_as_tuple(b,c,d)); vs std :: u
..
我试图将字符串散列到指向指向字符串的无效函数的指针。尝试将我的键值对插入到地图中时出现以下错误: “没有匹配的成员函数可以调用” insert” 我不确定如何解释此错误。 我认为我是在传递错误 #include #include 使用命名空间std; void some_function(string arg
..
具有类型为引用C ++ 11的unordered_map是否合法? 例如 std :: unordered_map 我设法将其与VS2013一起编译,但是我不确定是否应该会导致一些奇怪的运行时错误。例如,当试图擦除一个元素时,会抛出矢量下标超出范围。 一些谷歌搜索导致发现您无法获得参考向量,但我找不到关于unordered_map
..
找出 unordered_map 容器是否具有带有指定键的项目的最快方法是什么? 解决方案 它们的性能差不多。您应该使用最能表达您要执行的操作的算法。 要对此进行详细说明,通常 count()将使用 find()实现。例如,在 libcxx 中, count()被实现为返回(find(__ k)!= end());
..
从 unordered_map 向量)的最有效方法是什么>? 为具体起见,假设所讨论的地图是 unordered_map 。 然后我想以 vector 的形式获取键,并以 vector的值获取键。 code>。 unordered_map嗯 vector vs
..
我们知道 std :: unordered_map :: bucket return桶是容器内部哈希表中的一个槽,根据其键的哈希值将元素分配给该槽。如何在返回存储区中获取begin-iterator和end-iterator?换句话说,我可以使用 bucket_count 来获取存储桶数,如何检测每个存储桶中的项目? 解决方案 您可以使用 std :: unordered_map :: b
..
我有C ++代码,用于研究BIG字符串并匹配许多子字符串。尽可能避免通过编码像这样的子字符串来构造std :: strings: char *缓冲区,size_t bufferSize 但是,在某些时候,我想在其中一个子字符串中查找: std :: unordered_map stringToInfo = {...
..
C ++ 11的 unordered_map 的默认构造函数如下: 显式unordered_map(size_type bucket_count = / *实现定义* /, const hasher& hash = hasher(), const key_equal& equal = key_equal(), const allocator_type& alloc = allocato
..
我有以下代码: std :: unordered_map地图; map [“ k1”] =“ v1”; 自动& v1 = map [“ k1”]; map [“ k2”] =“ v2”; 阅读 http://en.cppreference.com/w/cpp/container/unordered_
..
如何识别 std :: unordered_map 中的键是否经历了哈希冲突? 也就是说,如何识别是否存在任何碰撞链? 解决方案 您可以使用存储桶接口及其 bucket_size 方法。 std :: unordered_map地图; bool has_collision = false; for(size_t bucket = 0; buck
..