Udostępnij za pośrednictwem


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

CMapPtrToPtr

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

CMapPtrToWord

void GetNextAssoc (pozycja & rNextPosition, void * & rKey, program WORD & rValue ) const;

CMapStringToPtr

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

CMapStringToString

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

CMapWordToOb

void GetNextAssoc (pozycja & rNextPosition, program WORD & rKey, CObject * & rValue ) const;

CMapWordToPtr

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

Zobacz też

Informacje

Klasa CMapStringToOb

Wykres hierarchii

CMapStringToOb::GetStartPosition