将两个键与 std::map 一起使用的最佳方法是什么?
我有一个 std::map ,用于存储 x 和 y 坐标的值。 我的数据非常稀疏,所以我不想使用数组或向量,这会导致内存的大量浪费。 我的数据范围从-250000到2…
如何在 C++ 中迭代充满字符串的 std::map
我遇到以下与迭代使用 std::map 定义的关联字符串数组相关的问题。 -- snip -- class something { //... private: std::map<std::string, std::stri…
如何使用以用户定义类型为键的 std::maps ?
我想知道为什么我不能将 STL 映射与用户定义的类一起使用。 当我编译下面的代码时,我收到以下神秘的错误消息。 这是什么意思? 另外,为什么它只发生…
如何将一张地图的内容附加到另一张地图?
我有以下两个地图: map< string, list < string > > map1 map< string, list < string > > map2 我用以下内容填充了 map1: 1. kira…
如何在控制台上显示地图内容?
我有一个 map 声明如下: map < string , list < string > > mapex list< string > li 如何在控制台上显示存储在上述地图中的项目?…
异常的 std::map 运行时错误
我正在为我正在开发的游戏编写一个编辑器,作为该编辑器的一部分,显然我需要有纹理。 我已经创建了一个 std::map 变量, std::map<std::string, un…
如何使用自定义类型作为 C++ 中地图的键?
我正在尝试将自定义类型分配为 std::map 的键。 这是我用作键的类型: struct Foo { Foo(std::string s) : foo_value(s){} bool operator<(const Fo…
C++ const std::map 引用无法编译
为什么将 std::map 的引用作为 const 传递会导致 [] 运算符中断? 当我使用 const 时,出现此编译器错误 (gcc 4.2): 错误:与“operator[]”不匹配 '…
如何估计 std::map 的内存使用情况?
例如,我有一个已知 sizeof(A) 和 sizeof(B) 的 std::map,而 map 内部有 N 个条目。 您如何估计其内存使用情况? 我想说的是, (sizeof(A) + sizeof(…
使用 std::map::const_iterator 在模板类中嵌套结构?
以下代码在声明迭代器的行生成语法错误: template <typename T> class A { public: struct B { int x, y, z } void a() { std::map<int, B>:…
为什么调用 std::map::clear() 后内存仍然可以访问?
我正在观察 std::map::clear() 的奇怪行为。 该方法应该在调用时调用元素的析构函数,但是在调用clear()之后内存仍然可以访问。 例如: struct A { ~A…
C++ 模板类值的 std::map
我试图声明一个 Row 和一个 Column 类,其中 Row 具有私有 std::map > 其值指向模板化的Column。 像这样的事情: template <typename T> class …
std::map 中的最后一个键
我正在寻找 std::map 的最高键值(由比较运算符定义)。 这保证是吗 map.rbegin()->first ? (我对反向迭代器有点犹豫,以及 std::map 的实现有多…
在STL映射中,使用map::insert比使用[]更好吗?
前段时间和同事讨论了如何在STL中插入值地图。 我更喜欢 map[key] = value,因为它感觉自然且易于阅读,而他更喜欢 map.insert(std::make_pair(key, v…