Partager via


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

CPtrList

position);devoid RemoveAt( POSITION

CStringList

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

Voir aussi

Référence

Classe de CObList

Graphique de la hiérarchie