CMapPtrToPtr 中的 operator [] 运算符允许你像使用数组一样访问映射表中的元素。当你使用类似 map[key] 的语法时,该运算符会自动查找给定键(key)对应的值,并返回对应的指针。如果该键不存在,它会自动创建一个新的映射,并返回新的指针。
以下是一个简单的示例,演示了如何使用 CMapPtrToPtr 类及其 operator [] 运算符:
#include <afxtempl.h>
int main() {
CMapPtrToPtr map;
// 添加映射关系
int* key = new int(42);
int* value = new int(100);
map[key] = value;
// 使用 operator [] 获取值
int* retrievedValue = map[key];
// 输出结果
if (retrievedValue != nullptr) {
TRACE("Value associated with key %d: %d\n", *key, *retrievedValue);
} else {
TRACE("Key not found in the map.\n");
}
// 清理内存
delete key;
delete value;
return 0;
}
请注意,使用 CMapPtrToPtr 类时,你需要小心管理内存,确保在不再需要映射关系时释放相关的内存。在上述示例中,通过 delete key; 和 delete value; 来释放为键和值分配的内存。
转载请注明出处:http://www.zyzy.cn/article/detail/18694/MFC/CMapPtrToPtr