stdmap 相关问题

std :: map是C ++标准库中的一个类。它是一个已排序的关联容器,包含具有唯一键的键值对。搜索,删除和插入操作具有对数复杂性。地图通常实现为红黑树。

根据值对c ++中的STL映射进行排序

我有以下地图:map mp; mp [11] = 5; mp [3] = 7; mp [1] = 3;如果我在地图上进行迭代,例如:for(auto it:mp){cout << [

回答 3 投票 0

C ++入门5。不允许用lambda闭包代替函数指针吗?

在C ++入门指南的第14章中。函数对象://普通函数int add(int i,int j){return i + j; } // lambda,它会生成未命名的功能对象类auto mod = [](int i,int j){...

回答 1 投票 2

通过c ++中的make pair将结构添加到映射[关闭]

我正在尝试添加此对,其中entiticountdto是字符串标题,字符串体裁和int的结构,但我得到:C ++没有重载函数的实例与参数列表匹配。有任何想法吗? struct ...

回答 1 投票 0

如何使用多维初始化器列表初始化自定义容器?

我目前正在使用其他方法(如ContainsValue()来为std :: map类型开发自定义包装器。但是,由于我尝试使其与std :: map尽可能兼容,所以我想知道它是否......

回答 1 投票 0

C ++映射,向量为键。如何使矢量顺序无关紧要?

我有一个以整数向量为键的地图。我用值{1、2、3}的键向量初始化地图。typedef std :: map ,std :: string> VectorMap; VectorMap ...

回答 1 投票 0

从地图中获取前两个元素

我只需要从std :: map中读取前两个元素。这是我的代码:#include #include #include 使用命名空间std; int main(){map ] >>>> 要使用std::next,您至少需要具有C ++ 11兼容的编译器。 std::next返回一个新的递增迭代器。因此,您需要使用其返回值来获取递增的迭代器,即:] itr = next( itr ); 现在,itr指向同一元素,因为未使用返回值。 如果您打算在不使用新迭代器的情况下增加itr,则std::advance在这里是更好的选择,即: std::advance( itr, 1 ); 如果您使用的是C ++ 11之前的编译器,则可以这样使用增量运算符: itr++; 或, ++itr; 这里是live演示。 此外,该映射未初始化/为空,您正在尝试访问其不存在的元素,这将导致Undefined Behavior。 相关阅读: Why is "using namespace std;" considered bad practice? C++: "std::endl" vs "\n" 您应该使用itr++将其向前移动以指向下一组对。您可以通过map->first;和map->second;访问它们

回答 2 投票 0

使用Lambda函数进行的转换未完成我想要的C ++

想法是让地图代表单词的矢量+在该矢量中出现的次数。请注意,我不允许使用任何循环或for_each。我认为编译器不喜欢lambda ...

回答 1 投票 0

在类成员的实例化过程中:使用map [key]访问std :: map值时,“ no运算符[[]”匹配这些操作数”

我已经看了很长时间了。我不明白是什么困扰着它。下面显示了给我问题的最小代码。我对发生错误的行进行评论。 ...

回答 3 投票 0

我如何估算std :: map的内存使用情况?

例如,我有一个std :: map,它的sizeof(A)和sizeof(B)已知,而map里面有N个条目。您如何估计其内存使用量?我会说这有点像(sizeof(A)+ sizeof(B))* N * ...

回答 7 投票 44

如何仅使用自定义比较器在std :: map中进行搜索?

我希望std :: map仅在搜索时使用比较器,例如其余操作(包括插入一的操作)必须使用默认操作。有可能吗?

回答 1 投票 0

可以将地图用作树吗?

例如std :: map >。可以用作“快速且肮脏的”树结构(顶部有一些辅助功能,并且考虑到Item的实现较少),...

回答 1 投票 5

C ++:如何制作一个由std :: function索引的容器?

对于索引,我使用std :: unordered_map和std :: map。两者按如下方式使用时都会引发编译错误:std :: unordered_map ,int> var; std :: unordered_map ...

回答 1 投票 1

std :: map是否可以提供所有键的计数器<= O(1)时间中的target_key?

我正在使用std :: map来按排序顺序存储一组数字。我希望能够在O(1)时间(不包括花费的时间...

回答 2 投票 1

std :: map的键没有顺序

如果要使用用户定义的对象作为键的std :: map,应采用哪种方法?让我们考虑一下这个最小的伪代码(可编译但无法正确运行):#include ...] >>

回答 3 投票 0

std :: map以用户定义的对象作为键

如果要使用用户定义的对象作为键的std :: map,应采用哪种方法?让我们考虑一下这个最小的伪代码(可编译但无法正确运行):#include ...] >>

回答 2 投票 1

C ++映射:带有自定义类的operator []不起作用(总是返回0)

我正在尝试实现MinHeap,其中堆上的对象是WorkerNodes。我的方法返回映射,该映射旨在允许客户端代码确定从...

回答 1 投票 0

类本身内部的Map函数类成员

我很难在类本身内部映射类成员的功能#include #include #include class Foo {public:void bar(){} ... ]]] >

回答 2 投票 -1

如何从存储在std :: map中的std :: set中删除元素?

我将以下数据结构存储在一个类中。 class MyClass {private:std :: map > myMap; public:void remove(std :: string id); //尝试...

回答 2 投票 1

在遍历地图映射时将范围变量用作函数参数

我正在尝试遍历地图,并将每一对传递给修改内容的函数。当我尝试编译以下代码时,关于项目范围,我得到以下错误...

回答 1 投票 1

C ++:当临时std :: map超出范围时,将释放std :: map的项目

我不是C ++非用户,我只是在尝试一些有趣的事情,而且遇到了麻烦,我想我做错了什么。我有我自己的类的std :: map(std :: map 和我...

回答 1 投票 -1

© www.soinside.com 2019 - 2024. All rights reserved.