C++ 如何从CMap访问元素?

C++ 如何从CMap访问元素?,c++,visual-studio-2015,mfc,C++,Visual Studio 2015,Mfc,有人能告诉我如何基于特定的密钥获取特定的元素吗。说如果我有一个CMap按钮; 现在我想访问提供的任何int值的属性,怎么做? P.S.首次与CMap合作。“ButtonProp.Lookup(int)”就足够了吗?您基本上有两个选择: 如果知道该元素存在,则可以使用: 否则,您应该使用,但用法与问题中的用法不同 假设你从 CMap<int,int,CPoint,CPoint> myMap; myMap.InitHashTable(257); 或 如果found为true,则ret

有人能告诉我如何基于特定的密钥获取特定的元素吗。说如果我有一个CMap按钮; 现在我想访问提供的任何int值的属性,怎么做?
P.S.首次与CMap合作。“ButtonProp.Lookup(int)”就足够了吗?

您基本上有两个选择:

如果知道该元素存在,则可以使用:

否则,您应该使用,但用法与问题中的用法不同

假设你从

CMap<int,int,CPoint,CPoint> myMap;

myMap.InitHashTable(257);


如果
found
true
,则
ret
是您的答案。

以下是演示
CMap
容器用法的简单代码片段:

CMap<CString, LPCTSTR, int, int> NameToValueMap;

CString sKey(_T("Test"));
int nValue = 10;        
NameToValueMap[sKey] = nValue;


if (NameToValueMap.IsEmpty())
    return;

int nVal;
if (NameToValueMap.Lookup(sKey, nVal))
{
    // TO DO: do stuff with value here
}
CMap-NameToValueMap;
CString sKey(_T(“测试”));
int nValue=10;
NameToValueMap[sKey]=nValue;
if(NameToValueMap.IsEmpty())
返回;
国际nVal;
if(NameToValueMap.Lookup(sKey,nVal))
{
//做:在这里做有价值的事情
}
CPoint ret;
bool found = myMap.Lookup(3, ret);
CMap<CString, LPCTSTR, int, int> NameToValueMap;

CString sKey(_T("Test"));
int nValue = 10;        
NameToValueMap[sKey] = nValue;


if (NameToValueMap.IsEmpty())
    return;

int nVal;
if (NameToValueMap.Lookup(sKey, nVal))
{
    // TO DO: do stuff with value here
}