CObList::RemoveAt
Supprime l'élément spécifié dans cette liste.
void RemoveAt(
POSITION position
);
Paramètres
- position
La position de l'élément à supprimer de la liste.
Notes
Lorsque vous supprimez un élément d' CObList, vous supprimez le pointeur d'objet de la liste. Il est de la responsabilité de supprimer les objets eux-mêmes.
Vous devez vérifier que la valeur de position représente une position valide dans la liste. Si elle n'est pas valide, la version debug des assertions de la bibliothèque MFC.
Le tableau suivant indique les autres fonctions membres similaires à CObList::RemoveAt.
Classe |
Fonction membre |
---|---|
position);devoid RemoveAt( POSITION |
|
position);devoid RemoveAt( POSITION |
Exemple
Soyez prudent en supprimant un élément au cours d'une itération de liste. l'exemple suivant montre une technique de suppression qui garantit une valeur valide de position pour GetNext.
Consultez CObList::CObList pour obtenir l'intégralité de la classe d' CAge .
CObList list;
POSITION pos1, pos2;
CObject* pa;
list.AddHead(new CAge(21));
list.AddHead(new CAge(40));
list.AddHead(new CAge(65)); // List now contains (65 40, 21).
for (pos1 = list.GetHeadPosition(); (pos2 = pos1) != NULL;)
{
if (*(CAge*) list.GetNext(pos1) == CAge(40))
{
pa = list.GetAt(pos2); // Save the old pointer for
//deletion.
list.RemoveAt(pos2);
delete pa; // Deletion avoids memory leak.
}
}
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("RemoveAt example: ") << &list << _T("\n");
#endif
Les résultats de ce programme sont les suivantes :
RemoveAt example: A CObList with 2 elements
a CAge at $4C1E 65
a CAge at $4B22 21
Configuration requise
Header: afxcoll.h