CMapStringToOb::GetNextAssoc
Pobiera element mapę w rNextPosition, następnie aktualizuje rNextPosition się do następnego elementu na mapie.
void GetNextAssoc(
POSITION& rNextPosition,
CString& rKey,
CObject*& rValue
) const;
Parametry
rNextPosition
Określa odwołanie do stanowisko wartości zwróconej przez poprzednie GetNextAssoc lub GetStartPosition wywołania.rKey
Określa klucz zwracane pobrane elementu (ciąg).rValue
Określa wartość pobrany element ( CObject wskaźnik).Więcej informacji na temat tego parametru, zobacz uwagi.
Uwagi
Funkcja ta jest najbardziej przydatne do iteracji wszystkich elementów w mapie.Zauważ, że sekwencji pozycji jest niekoniecznie taka sama sekwencja wartości klucza.
Jeśli element pobrane ostatniego na mapie jest następnie nową wartość rNextPosition jest ustawiona na NULL.
Dla rValue parametr, pamiętaj rzutować na typ obiektu do CObject * &, który jest co wymaga kompilatora, jak pokazano w następującym przykładzie:
CObject* ob;
map.GetNextAssoc(pos, key, (CObject*&)ob);
Nie dotyczy to GetNextAssoc map oparte na szablonach.
W poniższej tabeli przedstawiono funkcje, które są podobne do innego członka CMapStringToOb::GetNextAssoc.
Klasa |
Funkcja Członkowskie |
---|---|
void GetNextAssoc (pozycja & rNextPosition, void * & rKey, void * & rValue ) const; |
|
void GetNextAssoc (pozycja & rNextPosition, void * & rKey, program WORD & rValue ) const; |
|
void GetNextAssoc (pozycja & rNextPosition, CString & rKey, void * & rValue ) const; |
|
void GetNextAssoc (pozycja & rNextPosition, CString & rKey, CString & rValue ) const; |
|
void GetNextAssoc (pozycja & rNextPosition, program WORD & rKey, CObject * & rValue ) const; |
|
void GetNextAssoc (pozycja & rNextPosition, program WORD & rKey, void * & rValue ) const; |
Przykład
Zobacz CObList::CObList listę CAge klasy używane we wszystkich przykładach kolekcji.
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
}
Wyniki tego programu są następujące:
Lisa : a CAge at $4724 11
Marge : a CAge at $47A8 35
Homer : a CAge at $4766 36
Bart : a CAge at $45D4 13
Wymagania
Nagłówek: afxcoll.h