c++ - 创建一个将另一个 CMap 作为值的 CMap

标签 c++ collections mfc

我正在尝试创建一个 CMap,它以 CString 作为键,以 CMap 作为值。显然以下内容不起作用,但我不知道它是如何工作的。

CMap<CString, LPCSTR, CMap<CString, LPCSTR, int, int>, CMap<CString, LPCSTR, int, int>> xyWhatEver;

有人知道如何使用 CMap 在 C++ 中实现这样的数据结构吗?

最佳答案

CMap 没有复制构造函数。我建议使用 STL 类而不是 mfc。当然,您可以将 CMap 替换为 CMap*,但这需要额外的分配/释放步骤。

typedef CMap<CString, LPCSTR, int, int> tInnerMap;
CMap<CString, LPCSTR, tInnerMap*, tInnerMap*> map; 

关于c++ - 创建一个将另一个 CMap 作为值的 CMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9603982/

相关文章:

c++ - MFC中找到鼠标悬停的控件

c++ CString Tokenize 奇怪的问题

c++ - 使用基于 boost::tuple 的 fscanf 构建正则表达式以读取文件

c++ - openGL子纹理

c++ - 为什么我的字典(c++ trie)中没有包含这些词?

java - Android - 我们在 HashMap<MyEnum, String> 中使用 enum 作为键代替 String 是否合适?

c++ - CLion,MinGW和SDL2:进程结束,退出代码为-1073741515(0xC0000135)

c# - 按照添加顺序访问 DataGridView 行

java - 如何按第二个词对列表进行排序?

mfc - 检测 MFC 中的模态对话框