次の方法で共有


CMapStringToOb::GetNextAssoc

rNextPosition が示す位置のマップの要素を取得します。その後、マップ内の次の要素を参照できるように、rNextPosition を更新します。

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

パラメーター

  • rNextPosition
    直前に呼び出した GetNextAssoc 関数または GetStartPosition 関数が返す POSITION 値への参照を指定します。

  • rKey
    取得した要素のキー (文字列) が返されます。

  • 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

必要条件

**ヘッダー:**afxcoll.h

参照

参照

CMapStringToOb クラス

階層図

CMapStringToOb::GetStartPosition

その他の技術情報

CMapStringToOb のメンバー