Freigeben über


CMapStringToOb::GetNextAssoc

Ruft das Kartenelement am rNextPosition ab, dann aktualisiert rNextPosition, um das folgende Element in der Zuordnung zu verweisen.

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

Parameter

  • rNextPosition
    Gibt einen Verweis auf ein POSITION-Wert an, der von einem vorherigen GetNextAssoc oder GetStartPosition Aufruf zurückgegeben wird.

  • rKey
    Gibt den zurückgegebenen Schlüssel des abgerufenen Elements an (eine Zeichenfolge).

  • R-Wert
    Gibt den zurückgegebenen Wert des abgerufenen Elements an (ein CObject-Zeiger). Siehe Hinweise für mehr über diesen Parameter.

Hinweise

Diese Funktion ist zum Durchlaufen von allen Elementen in der Zuordnung geeignet. Beachten Sie, dass die Positionssequenz nicht unbedingt mit der Schlüsselwertsequenz ist.

Wenn das abgerufene Element die letzte in der Zuordnung ist, wird der neue Wert für rNextPosition zu NULL festgelegt.

Für den rvalue-Parameter stellen Sie sicher, den Objekttyp zu CObject*&, der ist, was der Compiler benötigt, wie im folgenden Beispiel gezeigt umzuwandeln:

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

Dies ist nicht von GetNextAssoc für Zuordnungen auf Grundlage von True.

In der folgenden Tabelle werden andere Memberfunktionen auf, die mit CMapStringToOb::GetNextAssoc ähneln.

Klasse

Memberfunktion

CMapPtrToPtr

void GetNextAssoc( POSITION& rNextPosition, void*& rKey, void*& R-Wert ) const;

CMapPtrToWord

void GetNextAssoc( POSITION& rNextPosition, void*& rKey, WORD& R-Wert ) const;

CMapStringToPtr

void GetNextAssoc( POSITION& rNextPosition, CString& rKey, void*& R-Wert ) const;

CMapStringToString

void GetNextAssoc( POSITION& rNextPosition, CString& rKey, CString& R-Wert ) const;

CMapWordToOb

void GetNextAssoc( POSITION& rNextPosition, WORD& rKey, CObject*& R-Wert ) const;

CMapWordToPtr

void GetNextAssoc( POSITION& rNextPosition, WORD& rKey, void*& R-Wert ) const;

Beispiel

Siehe CObList::CObList für Listen der CAge-Klasse, die in allen Auflistungsbeispielen verwendet wird.

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
}

Die Ergebnisse dieses Programms sind, wie folgt:

Lisa : a CAge at $4724 11

Marge : a CAge at $47A8 35

Homer : a CAge at $4766 36

Bart : a CAge at $45D4 13

Anforderungen

Header: afxcoll.h

Siehe auch

Referenz

CMapStringToOb-Klasse

Hierarchiediagramm

CMapStringToOb::GetStartPosition