问题标签 [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.
runtime - 异常的 std::map 运行时错误
我正在为我正在开发的游戏编写一个编辑器,作为该编辑器的一部分,我显然需要有纹理。我已经创建了一个 std::map 变量,
在我的图像加载代码中,我有以下代码段。
现在由于某种原因,在尝试使用上述代码后出现运行时错误。访问冲突错误,在调试时将我指向 std::map 代码本身,特别是这部分:
我只是为了测试系统而调用我的图像加载功能。我检查了变量,文件名和 id 变量都是正确的。关于可能导致运行时崩溃的任何想法?
c++ - 如何在控制台上显示地图的内容?
我有一个map
声明如下:
如何在控制台上显示存储在上述地图中的项目?
c++ - 如何在 C++ 中迭代一个充满字符串的 std::map
我有以下与迭代使用定义的字符串关联数组有关的问题std::map
。
在构造函数中,我使用与字符串数据关联的字符串键对填充表。在其他地方我有一个方法toString
,它返回一个字符串对象,该对象包含表对象中包含的所有键和关联数据(作为键=数据格式)。
当我尝试编译时,出现以下错误:
有人可以向我解释缺少什么,我做错了什么吗?hash_map
在用户必须定义散列函数才能hash_map
与std::string
对象一起使用的情况下,我只发现了一些关于类似问题的讨论。在我的情况下也可能是类似的东西吗?
c++ - 如何将一张地图的内容附加到另一张地图?
我有以下两张地图:
我填充map1
了以下内容:
然后我将内容复制map1
到map2
如下:
然后我再次填充map1
了以下新内容:
现在我必须将此内容附加到map2
. 我不能使用map2 = map1;
,因为这会覆盖map2
. 那么,我该怎么做呢?
c++ - C++ 在 std::map 中存储对值的引用
我是否正确假设向 std::map 添加/删除元素不会影响其他元素(即导致它们在内存中重新定位),因此以下内容是安全的:
我查看了有关容器信息的各个站点,但只发现了迭代器无效的情况,我已经知道了......
我在 VC9 上测试了一些类似的代码,这似乎可以工作,但这并不意味着我不只是幸运,或者它不会因编译器而异。
c++ - 如何使用 std::maps 和用户定义的类型作为键?
我想知道为什么我不能将 STL 映射与用户定义的类一起使用。当我编译下面的代码时,我收到以下神秘的错误消息。这是什么意思?另外,为什么它只发生在用户定义的类型上?(原始类型在用作键时是可以的。)
C:\MinGW\bin..\lib\gcc\mingw32\3.4.5........\include\c++\3.4.5\bits\stl_function.h||在成员函数`bool std:: less<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = Class1]':|
C:\MinGW\bin..\lib\gcc\mingw32\3.4.5........\include\c++\3.4.5\bits\stl_map.h|338|从`_Tp& std:: 实例化map<_Key, _Tp, _Compare, _Alloc>::operator[](const _Key&) [with _Key = Class1, _Tp = int, _Compare = std::less, _Alloc = std::allocator >]'|
C:\Users\Admin\Documents\dev\sandbox\sandbox\sandbox.cpp|24|从这里实例化|
C:\MinGW\bin..\lib\gcc\mingw32\3.4.5........\include\c++\3.4.5\bits\stl_function.h|227|error: no match for 'operator <' 在 '__x < __y'| ||=== 构建完成:1 个错误,0 个警告 ===|
c++ - 将两个键与 std::map 一起使用的最佳方法是什么?
我有一个std::map
用于存储 x 和 y 坐标的值。我的数据非常稀疏,所以我不想使用数组或向量,这会导致大量内存浪费。我的数据范围从-250000到250000,但我最多只有几千个点。
目前我正在std::string
使用两个坐标(即"12x45"
)创建一个并将其用作键。这似乎不是最好的方法。
我的其他想法是使用 int64 并将两个 int32 推入其中并将其用作键。
或者使用具有两个坐标的类。对用作键的类有什么要求?
做这个的最好方式是什么?我宁愿不使用地图的地图。
c++ - 如何初始化静态 std::map?
我已经创建了一个仅消息窗口类,并且正在尝试将 HWND 映射回具有这些句柄的对象。我正在尝试使用std::map<HWND, CMyClass*>
属于该类的私有静态来做到这一点,如下所示:
MyClass.h:
我的类.cpp:
但是当我尝试添加到地图时,程序崩溃了。我尝试了三种不同的形式,它们都给出了相同的错误:
或者
甚至
_Root()
在每种情况下,都会在尝试返回的调用时发生崩溃_Parent(_Myhead)
;_Parent(_Myhead)
返回(_Nodepref)(*_Myhead)._Parent
失败,因为_Myhead
它是空的。
如何初始化地图,使其头部不为空,并且我可以插入东西而不会崩溃?抱歉,如果我解释得不好 - 我是 C++ 新手。
c++ - std::map 之间有区别吗和 std::map?
据我了解, std::map 中的值对中的键一旦插入就无法更改。这是否意味着使用 const 键模板参数创建映射无效?
c++ - 如何将 2D 地图作为参数传递给 C++ 中的函数?
我有一张像
如何将此映射作为参数传递给函数说 Perform()?
提前致谢。