CObList::RemoveAt

void RemoveAt ( POSITION position );

Paramètres

position

La position de l'élément à supprimer de la liste.

Remarques

Supprime l'élément spécifié de la liste.

Lorsque vous supprimez u&n élément d'un CObList, vous supprimer le pointeur d'objet de la list.nbsp ; Il est de votre responsabilité de supprimer les objets eux-mêmes.

Vous devez vous assurer que la valeur de votre POSITION représente une position valide dans la liste. Si elle est invalide, la version Debug de la bibliothèque Microsoft Foundation Class affirme.

Exemple

Soyez prudent lors de la suppression d'un élément au cours d'une itération de la liste. L'exemple suivant montre une technique de suppression qui garantit une valeur valide de la POSITION de GetNext.

   Liste de cObList ;
   POSITION pos1, pos2 ;
   CObject * pa ;
   
   liste.AddHead (nouvelle CAge (21)) ;
   liste.AddHead (nouvelle CAge (40)) ;
   liste.AddHead (nouvelle CAge (65)) ; / Liste contient maintenant 65 40 (21).
   pour (pos1 = liste.GetHeadPosition() ; (pos2 = pos1)! = NULL ; )
   {
    nbsp ;  Si (liste de *(CAge*).GetNext (pos1) == CAge (40))
       {
           PA = liste.GetAt (pos2) ; / / Enregistrez le vieux pointeur pour
                                  / / suppression.
           liste.RemoveAt (pos2) ;
           supprimer la pa ; / / Suppression évite la fuite de mémoire.
       }
   }
# ifdef _DEBUG
   afxDump.SetDepth (1) ;
   afxDump << « RemoveAt exemple: "<< & liste << « \n » ;
# endif

Les résultats de ce programme sont les suivants:

RemoveAt exemple : u&n CObList à 2 éléments
 nbsp ;  une CAge à 4C1E $ 65
    une CAge à 4B22 $ 21

Aperçu cObList |  ; Membres de la classe | Graphique de la hiérarchie

Index