Condividi tramite


CMapStringToOb::GetNextAssoc

Recupera l'elemento del mapping a rNextPosition, quindi aggiorna il rNextPosition per fare riferimento all'elemento successivo nella mappa.

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

Parametri

  • rNextPosition
    Specifica un riferimento a un valore di percorso restituito da una chiamata precedente GetStartPosition o GetNextAssoc.

  • rKey
    Specifica la chiave restituita elemento recuperato (una stringa).

  • rValue
    Specifica il valore restituito dell'elemento recuperato (un puntatore CObject ).Vedere le note per ulteriori informazioni su questo parametro.

Note

Questa funzione è utile per la scorrere tutti gli elementi nella mappa.Si noti che la sequenza di posizione non è necessariamente la stessa sequenza di valori della chiave.

Se l'elemento recuperato è l'ultimo nel mapping, il nuovo valore di rNextPosition è impostato su NULL.

Per il parametro rValue, assicurarsi di eseguire il cast del tipo di oggetto CObject*&, utilizzato dal compilatore richiede, come illustrato nel seguente esempio:

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

Ciò non accade per GetNextAssoc per le mappe basate su modelli.

Nella tabella seguente vengono illustrate altre funzioni membro che sono simili a CMapStringToOb::GetNextAssoc.

Classe

Funzione membro

CMapPtrToPtr

rValue ) const;di, void*& dirKey di, void*& dirNextPosition divoid GetNextAssoc( POSITION&

CMapPtrToWord

rValue ) const;di, WORD& dirKey di, void*& dirNextPosition divoid GetNextAssoc( POSITION&

CMapStringToPtr

rValue ) const;di, void*& dirKey di, CString& dirNextPosition divoid GetNextAssoc( POSITION&

CMapStringToString

rValue ) const;di, CString& dirKey di, CString& dirNextPosition divoid GetNextAssoc( POSITION&

CMapWordToOb

rValue ) const;di, CObject*& dirKey di, WORD& dirNextPosition divoid GetNextAssoc( POSITION&

CMapWordToPtr

rValue ) const;di, void*& dirKey di, WORD& dirNextPosition divoid GetNextAssoc( POSITION&

Esempio

Vedere CObList::CObList per un elenco CAge utilizzata in tutti gli esempi di raccolta.

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
}

I risultati di questo programma sono:

Lisa : a CAge at $4724 11

Marge : a CAge at $47A8 35

Homer : a CAge at $4766 36

Bart : a CAge at $45D4 13

Requisiti

Header: afxcoll.h

Vedere anche

Riferimenti

Classe di CMapStringToOb

Grafico della gerarchia

CMapStringToOb::GetStartPosition