次の方法で共有


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

参照

参照

CMap クラス

階層図

CMap::operator [ ]

その他の技術情報

CMap のメンバ