Sdílet prostřednictvím


CMapStringToOb::GetNextAssoc

Načte prvek mapy na rNextPosition, pak aktualizuje rNextPosition odkazuje na další prvek v mapě.

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

Parametry

  • rNextPosition
    Určuje odkaz na pozice hodnotu vrácenou předchozí GetNextAssoc nebo GetStartPosition volání.

  • rKey
    Určuje klíč Vrácená načtená prvku (řetězec).

  • rValue
    Určuje vrácenou hodnotu získanou prvek ( CObject ukazatel).Další informace o tomto parametru naleznete v části poznámky.

Poznámky

Tato funkce je užitečná pro iterace všech prvků v mapování.Všimněte si, že sekvence pozice není nutně stejná jako hodnota klíče sekvence.

Pokud načtený prvek je poslední v mapě, pak novou hodnotu rNextPosition je nastavena na NULL.

Pro rValue parametr, nezapomeňte přetypovat na typ objektu CObject * &, což je kompilátor vyžaduje jak ukazuje následující příklad:

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

To neplatí o GetNextAssoc pro mapy, které jsou založeny na šablonách.

Následující tabulka obsahuje další členské funkce, které jsou podobné CMapStringToOb::GetNextAssoc.

Třída

Členská funkce

CMapPtrToPtr

zrušit GetNextAssoc (pozice & rNextPosition, void * & rKey, void * & rValue ) const;

CMapPtrToWord

zrušit GetNextAssoc (pozice & rNextPosition, void * & rKey, WORD & rValue ) const;

CMapStringToPtr

zrušit GetNextAssoc (pozice & rNextPosition, CString & rKey, void * & rValue ) const;

CMapStringToString

zrušit GetNextAssoc (pozice & rNextPosition, CString & rKey, CString & rValue ) const;

CMapWordToOb

zrušit GetNextAssoc (pozice & rNextPosition, WORD & rKey, CObject * & rValue ) const;

CMapWordToPtr

zrušit GetNextAssoc (pozice & rNextPosition, WORD & rKey, void * & rValue ) const;

Příklad

Viz CObList::CObList seznam CAge třídy použitá v příkladech všechny kolekce.

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
}

Výsledky z tohoto programu jsou následující:

Lisa : a CAge at $4724 11

Marge : a CAge at $47A8 35

Homer : a CAge at $4766 36

Bart : a CAge at $45D4 13

Požadavky

Záhlaví: afxcoll.h

Viz také

Referenční dokumentace

Třída CMapStringToOb

Diagram hierarchie

CMapStringToOb::GetStartPosition