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 |
---|---|
rValue ) const;de, void*& derKey de, void*& derNextPosition devoid GetNextAssoc( POSITION& |
|
rValue ) const;de, WORD& derKey de, void*& derNextPosition devoid GetNextAssoc( POSITION& |
|
rValue ) const;de, void*& derKey de, CString& derNextPosition devoid GetNextAssoc( POSITION& |
|
rValue ) const;de, CString& derKey de, CString& derNextPosition devoid GetNextAssoc( POSITION& |
|
rValue ) const;de, CObject*& derKey de, WORD& derNextPosition devoid GetNextAssoc( POSITION& |
|
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