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 |
---|---|
zrušit GetNextAssoc (pozice & rNextPosition, void * & rKey, void * & rValue ) const; |
|
zrušit GetNextAssoc (pozice & rNextPosition, void * & rKey, WORD & rValue ) const; |
|
zrušit GetNextAssoc (pozice & rNextPosition, CString & rKey, void * & rValue ) const; |
|
zrušit GetNextAssoc (pozice & rNextPosition, CString & rKey, CString & rValue ) const; |
|
zrušit GetNextAssoc (pozice & rNextPosition, WORD & rKey, CObject * & rValue ) const; |
|
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