次の方法で共有


CMapStringToOb::GetNextAssoc

マップ要素の rNextPositionで取得し、マップの次の要素を参照するに rNextPosition を 更新します。

void GetNextAssoc(
   POSITION& rNextPosition,
   CString& rKey,
   CObject*& rValue 
) const;

パラメーター

  • rNextPosition
    GetStartPosition の前の GetNextAssoc または呼び出しによって返される POSITION の値への参照を指定します。

  • rKey
    取得する要素 (文字列) の Enter キーを指定します。

  • rValue
    取得する要素 ( CObject のポインター) の戻り値を指定します。このパラメーターに関する詳細については、"解説"を参照してください。

解説

この関数は、マップにすべての要素を反復処理に最も役立ちます。位置のシーケンスがキー値のシーケンスと必ずしも同じではないことに注意してください。

取得する要素がマップ内の最後の場合、rNextPosition の新しい値は nullに設定されます。

rValue の パラメーターには、コンパイラが必要な内容を次の例に示すように **CObject*&**に、オブジェクトの型をキャストしてください:

CObject* ob;
map.GetNextAssoc(pos, key, (CObject*&)ob);      

これは、テンプレートに基づいて GetNextAssoc のマップについてもせん。

次の表は CMapStringToOb::GetNextAssocに似ている他のメンバー関数を示します。

Class

メンバー関数

CMapPtrToPtr

void GetNextAssoc( POSITION&rNextPosition の, void*&rKey の, void*&rValue ) const;

CMapPtrToWord

void GetNextAssoc( POSITION&rNextPosition の, void*&rKey の, WORD&rValue ) const;

CMapStringToPtr

void GetNextAssoc( POSITION&rNextPosition の, CString&rKey の, void*&rValue ) const;

CMapStringToString

void GetNextAssoc( POSITION&rNextPosition の, CString&rKey の, CString&rValue ) const;

CMapWordToOb

void GetNextAssoc( POSITION&rNextPosition の, WORD&rKey の, CObject*&rValue ) const;

CMapWordToPtr

void GetNextAssoc( POSITION&rNextPosition の, WORD&rKey の, void*&rValue ) const;

使用例

すべてのコレクションの例で使用されている CAge のクラスのリストについては、CObList::CObList を参照してください。

CMapStringToOb map;
POSITION pos;
CString key;
CAge* pa;

map.SetAt(_T("Bart"), new CAge(13));
map.SetAt(_T("Lisa"), new CAge(11));
map.SetAt(_T("Homer"), new CAge(36));
map.SetAt(_T("Marge"), new CAge(35));
// Iterate through the entire map, dumping both name and age.
for (pos = map.GetStartPosition(); pos != NULL;)
{
   map.GetNextAssoc(pos, key, (CObject*&)pa);
   #ifdef _DEBUG
         afxDump << key << _T(" : ") << pa << _T("\n");
   #endif
}

このプログラムの結果は次のとおりです。:

Lisa : a CAge at $4724 11

Marge : a CAge at $47A8 35

Homer : a CAge at $4766 36

Bart : a CAge at $45D4 13

必要条件

Header: afxcoll.h

参照

関連項目

CMapStringToOb クラス

階層図

CMapStringToOb::GetStartPosition