CMapStringToOb::GetNextAssoc

Récupère l'élément de table au rNextPosition, puis met à jour le rNextPosition pour faire référence à l'élément dans le mappage.

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

Paramètres

  • rNextPosition
    Spécifie une référence à une valeur de position retourné par un appel précédent de GetNextAssoc ou de GetStartPosition .

  • rKey
    Spécifie la clé retournée de l'élément récupéré (une chaîne).

  • rValue
    Spécifie la valeur retournée par l'élément récupéré (un pointeur de CObject ).Consultez les notes pour plus d'informations sur ce paramètre.

Notes

Cette fonction est très utile pour itérer au sein de tous les éléments dans le mappage.Notez que la séquence de position n'est pas nécessairement le même que la séquence de valeurs de clé.

Si l'élément est extrait le dernier dans le mappage, la nouvelle valeur du rNextPosition a la valeur NULL.

Pour le paramètre rValue , veillez à effectuer un cast de votre type d'objet à CObject*&, qui est que le compilateur requiert, comme indiqué dans l'exemple suivant :

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

Ce n'est pas le cas de GetNextAssoc pour les mappages basés sur des modèles.

Le tableau suivant indique les autres fonctions membres similaires à CMapStringToOb::GetNextAssoc.

Classe

Fonction membre

CMapPtrToPtr

rValue ) const;de, void*& derKey de, void*& derNextPosition devoid GetNextAssoc( POSITION&

CMapPtrToWord

rValue ) const;de, WORD& derKey de, void*& derNextPosition devoid GetNextAssoc( POSITION&

CMapStringToPtr

rValue ) const;de, void*& derKey de, CString& derNextPosition devoid GetNextAssoc( POSITION&

CMapStringToString

rValue ) const;de, CString& derKey de, CString& derNextPosition devoid GetNextAssoc( POSITION&

CMapWordToOb

rValue ) const;de, CObject*& derKey de, WORD& derNextPosition devoid GetNextAssoc( POSITION&

CMapWordToPtr

rValue ) const;de, void*& derKey de, WORD& derNextPosition devoid GetNextAssoc( POSITION&

Exemple

Consultez CObList::CObList pour obtenir l'intégralité de la classe d' CAge utilisée dans les exemples de collection.

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
}

Les résultats de ce programme sont les suivantes :

Lisa : a CAge at $4724 11

Marge : a CAge at $47A8 35

Homer : a CAge at $4766 36

Bart : a CAge at $45D4 13

Configuration requise

Header: afxcoll.h

Voir aussi

Référence

Classe de CMapStringToOb

Graphique de la hiérarchie

CMapStringToOb::GetStartPosition