CMapPtrToPtr 类的 Lookup 方法用于在映射中查找指定的键,并返回相应的值。该方法的签名如下:
BOOL Lookup(void* key, void*& rValue) const;

  •  key:要查找的键。

  •  rValue:用于接收与键关联的值的引用。


方法返回一个 BOOL 类型的值,如果找到指定的键,则返回 TRUE,并通过 rValue 返回对应的值;如果未找到指定的键,则返回 FALSE。

以下是一个简单的示例演示如何使用 Lookup 方法:
CMapPtrToPtr myMap;

// 向映射中添加一些数据
myMap[reinterpret_cast<void*>(1)] = reinterpret_cast<void*>(100);
myMap[reinterpret_cast<void*>(2)] = reinterpret_cast<void*>(200);
myMap[reinterpret_cast<void*>(3)] = reinterpret_cast<void*>(300);

// 查找指定的键
void* keyToFind = reinterpret_cast<void*>(2);
void* valueFound;

if (myMap.Lookup(keyToFind, valueFound)) {
    TRACE(_T("Key %p found. Value: %p\n"), keyToFind, valueFound);
} else {
    TRACE(_T("Key %p not found.\n"), keyToFind);
}

在这个例子中,我们首先向 CMapPtrToPtr 对象添加了一些数据,然后使用 Lookup 方法查找指定的键。如果找到了键,就输出键和对应的值;否则,输出未找到的消息。这是在使用映射时经常用到的一种方式,以判断指定的键是否存在,并获取相关联的值。


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