CMapWordToPtr 类的 SetAt 方法是用于向映射中设置键值对的公共方法。如果指定的键已经存在于映射中,则该方法会更新对应的值;否则,它会在映射中添加一个新的键值对。

以下是 CMapWordToPtr 类中 SetAt 方法的基本语法:
void SetAt(WORD key, void* newValue);

  •  key 是要设置的键的值。

  •  newValue 是与指定键关联的新值。


以下是一个简单的示例代码,演示如何使用 SetAt 方法:
#include <afxtempl.h>

int main()
{
    // 创建一个 CMapWordToPtr 对象
    CMapWordToPtr mapWordToPtr;

    // 使用 SetAt 方法设置键值对
    mapWordToPtr.SetAt(1, reinterpret_cast<void*>(0x1001));
    mapWordToPtr.SetAt(2, reinterpret_cast<void*>(0x2002));
    mapWordToPtr.SetAt(3, reinterpret_cast<void*>(0x3003));

    // 获取键为2的值
    void* value = nullptr;
    if (mapWordToPtr.Lookup(2, value)) {
        // 成功获取值
        wprintf(L"键为2的值为:%p\n", value);
    } else {
        // 未找到对应的键
        wprintf(L"未找到键为2的值。\n");
    }

    return 0;
}

在这个例子中,我们首先创建了一个空的 CMapWordToPtr 对象,然后使用 SetAt 方法设置了三个键值对。接着,我们使用 Lookup 方法查找键为2的值,并输出结果。如果指定键已经存在,则 SetAt 方法会更新对应的值;如果键不存在,则会在映射中添加新的键值对。


转载请注明出处:http://www.zyzy.cn/article/detail/18834/MFC/CMapWordToPtr