CMap::Lookup
更新 : 2007 年 11 月
指定したキーに割り当てられている値を検索します。
BOOL Lookup(
ARG_KEY key,
VALUE& rValue
) const;
パラメータ
ARG_KEY
key の値の型を指定するテンプレート パラメータ。key
検索する要素を識別するキー。VALUE
検索する値の型を指定するテンプレート パラメータ。rValue
検索した値を受け取ります。
戻り値
要素が見つかった場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
ハッシュ法を使って、指定したキーと正確に一致するマップの要素を高速に検索します。
使用例
CMap<int,int,CPoint,CPoint> myMap;
myMap.InitHashTable(257);
// Add 200 elements to the map.
for (int i = 0; i < 200; i++)
myMap[i] = CPoint(i, i);
// Remove the elements with even key values.
CPoint pt;
for (int i = 0; myMap.Lookup(i, pt); i += 2)
{
myMap.RemoveKey(i);
}
ASSERT(myMap.GetSize() == 100);
TRACE(_T("myMap with %d elements:\n"), myMap.GetCount());
POSITION pos = myMap.GetStartPosition();
int iKey;
CPoint ptVal;
while (pos != NULL)
{
myMap.GetNextAssoc(pos, iKey, ptVal);
TRACE(_T("\t[%d] = (%d,%d)\n"), iKey, ptVal.x, ptVal.y);
}
必要条件
ヘッダー : afxtempl.h