MFC CMap.将cmap存储在cmap中
MFC CMap. Store a cmap inside a cmap
我想要一个CMap:
CMap<long,long, Cmap<long,long,long,long>>
因此,我的数据结构将有一个long作为键,它将重定向到一个值,该值将是其中long的cmap。
示例:如果我收到"1",那么它会将我发送到CMap
如果我收到2,它会给我发一个不同的cmap。
这可能吗?
不能使用std/stl映射。必须在此项目中使用MFC CMap对象。
谢谢。
根据这个答案,CMap
没有复制构造函数,这就是为什么不能在另一个中包含一个。但是,您应该仍然能够存储指向CMap
的指针。
我不认为您在CMap中存储的内容有任何限制,所以您可以这样做,但
我强烈建议您使用标准库容器。它们之所以成为标准是有原因的。这使它们更易于维护,并使代码更容易被未来的开发人员阅读。MS还将用新的编译器进行带外C++编译器更新,这样你将来只需重新编译就可以获得额外的改进。
std::map<long, std::map<long, long> > myMapOfMaps;
编辑:
我检查了CMap的标题,@DaveReger是正确的,没有复制构造函数,所以你唯一的选择是将CMap设置为long-to-CMap*OR以使用std::map。我强烈推荐标准地图。
第2版:
根据您关于不允许在项目中使用标准库的声明,您将不得不使用long
到CMap*
的映射。我建议你和建筑师谈谈,看看他们为什么不希望你使用标准的图书馆藏品。一旦您了解了标准集合的设计,它们就会使代码更加清晰易读。
感谢您的回答。
存储指向CMap的指针的解决方案有效,但风险太大。
我们使用的另一个解决方案是制作一个包含CMap的对象映射。该类将包含标识符和内部的cmap。含义:
CMap LiveDisconnectionCache;
再次感谢
相关文章:
- 将字符串存储在c++中的稳定内存中
- std::原子加载和存储都需要吗
- C++:将控制台输出存储在宏中更好吗
- 使用QProcess执行命令,并将结果存储在QStringList中
- 访问存储在向量C++中的结构的多态成员
- 如何从存储在std::映射中的std::集中删除元素
- 存储模板类型以强制转换回派生<T>
- 类型总是使用其大小存储在内存中吗
- 当字符串存储在变量中时,如何将字符串转换为wchar_t
- 使用无符号字符数组有效存储内存
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 使用 pqxx 将 std::vector 存储在 postgresql 中,并从数据库中检索它
- 带结构的二维矢量:如何存储元素
- 添加存储在向量中的大整数的函数出现问题
- 从文件中读取多个字节,并将它们存储在C++中进行比较
- 在std::vector上存储带有模板的类实例
- 谷歌测试中的期望值存储在哪里
- 为什么C中的通用链表中存储的数据已损坏
- 在c++中获取两个大int,并将它们存储在数组中
- MFC CMap.将cmap存储在cmap中