问题标签 [stdmap]

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 投票
6 回答
53999 浏览

c++ - 如何遍历/迭代 STL 映射?

我想遍历一个 STL 映射。我不想使用它的密钥。我不关心排序,我只是寻找一种访问它包含的所有元素的方法。我怎样才能做到这一点?

0 投票
6 回答
106756 浏览

c++ - 查找地图的映射值

C++ 中有没有办法搜索映射的映射值(而不是键),然后返回键?通常,我这样做是someMap.find(someKey)->second为了获取值,但在这里我想做相反的事情并获取键(值和键都是唯一的)。

0 投票
9 回答
145164 浏览

c++ - 插入地图的首选/惯用方式是什么?

我已经确定了四种将元素插入 a 的不同方法std::map

其中哪一个是首选/惯用方式?(还有其他我没有想到的方法吗?)

0 投票
2 回答
2378 浏览

c++ - 如何比较 boost::variant 以使其成为 std::map 的键?

如何比较 boost::variant 以使其成为 std::map 的键?似乎没有为 boost::variant 定义 operator<()

0 投票
2 回答
1414 浏览

c++ - boost::tuple 和 std::map 的分段错误

我无法使用类似于以下代码的代码:

编译器看不到任何错误。但是当我启动我的程序时,会发生一个奇怪的分段错误。所以我想找到导致它的代码行。GDB 然后告诉我:

不幸的是,到目前为止,我找不到任何解决此类问题的方法。

有人看到我在这里错过了什么吗?

编辑:所以我做了一些进一步的调查。导致问题的对象是用户定义的对象。实际上,boost-stuff 和地图的使用似乎都不是原因,因为向量也会发生错误!

我还尝试在单独的课程中重现该错误。不幸的是,我无法在那里引发错误。

现在 gdb 告诉我:

会不会是编译器设置造成的?

0 投票
1 回答
1162 浏览

c++ - std::map 无法插入对象

我正在制作的程序需要各种类型资源的访问池,但只有少数类可以访问。资源池也是它自己的类。因此,我决定为资源池使用一个静态类,并让其他人以这种方式访问​​它。

但是我在向池中添加资源时遇到了一个奇怪的问题。每个池都表示为一个 std::map,插入后,映射仍然为空。我猜这与静态类中的地图有关。这就是为什么地图在这里不能按预期工作的原因吗?

资源池相关代码

如何使用的相关代码

结果是,add 返回 NULL,因为没有找到任何东西。这个程序不会崩溃,因为我没有对纹理做任何事情,现在只是测试插入。

0 投票
4 回答
17552 浏览

c++ - 内置类型的 std::map 默认值

最近,我对 std::map operator[] 函数感到困惑。在 MSDN 库中,它说:“如果未找到参数键值,则将其与数据类型的默认值一起插入。” 我试图为这个问题寻找更准确的解释。例如这里: std::map default value 在这个页面中,Michael Anderson 说“默认值是由默认构造函数(零参数构造函数)构造的”。

现在我的任务是:“内置类型的默认值是多少?”。它与编译器有关吗?或者 c++ 标准委员会是否有这个问题的标准?

我在 Visual Studio 2008 上对“int”类型进行了测试,发现“int”类型的值是 0。

0 投票
6 回答
197015 浏览

c++ - 使用 find 方法后如何更新 std::map ?

std::map使用该方法后如何更新键的值find

我有一个这样的地图和迭代器声明:

我正在使用地图来存储字符的出现次数。

我正在使用 Visual C++ 2010。

0 投票
2 回答
204 浏览

c++ - std::map 有没有办法像键的谓词一样“编辑”值?

我想知道是否可以为 std::map 的所有值创建类似于谓词的东西,这样我就不必在将它们插入地图之前编辑这些值。

我想要的是这样的:

上下文是我正在为 .ini 文件创建一个 std::map ,我希望它在我想检索它们时自动从值中删除前导/尾随空格。我已经创建了一个谓词来忽略键中的大小写和空格,所以我想知道是否可以对值执行相同的操作。

0 投票
4 回答
7036 浏览

c++ - 访问 std::map 键和值

您如何访问 anstd::vector的键或值std::map

谢谢。

编辑:我想访问实际元素,而不仅仅是其内容的副本。本质上我想要一个参考,而不是副本。

这基本上是我想要做的: