privatevoid RemoveAt ( POSITION Stellung );
Parameter
lage
Die Position des Elements aus der Liste entfernt werden.
Bemerkungen
Entfernt das angegebene Element aus dieser Liste.
We&nn Sie ein Element aus einem CObListentfernen, entfernen Sie den Objektzeiger aus der list.nbsp; Es liegt in Ihrer Verantwortung, die Objekte selbst zu löschen.
Sie müssen sicherstellen, dass Ihre POSITION -Wert eine gültige Position in der Liste darstellt. Wenn es ungültig ist, behauptet dann die Debug-Version von der Microsoft Foundation Class-Bibliothek.
Beispiel
Seien Sie vorsichtig beim Entfernen eines Elements in einer Liste Iteration. Das folgende Beispiel zeigt eine Entfernung-Technik, die einen gültigen POSITION Wert für GetNext garantiert.
Liste von cObList;
Stellung pos1, pos2;
CObject * Pa;
Liste.AddHead (neue Käfig (21));
Liste.AddHead (neue Käfig (40));
Liste.AddHead (neue Käfig (65)); / / Liste enthält (65 40, 21).
für (pos1 = Liste.GetHeadPosition(); (pos2 = pos1)! = NULL; )
{
Nbsp; Wenn (*(CAge*) Liste.GetNext (pos1) == CAge (40))
{
PA = Liste.GetAt (pos2); / / Speichern den alten Zeiger für
/ / Löschen.
Liste.RemoveAt (pos2);
Löschen Sie Pa; / / Löschen vermeidet Speicherverlust.
}
}
# ifdef _DEBUG
afxDump.SetDepth (1);
AfxDump << "RemoveAt-Beispiel:" << & Liste << "\n";
# endif
Die Ergebnisse aus diesem Programm sind wie folgt:
RemoveAt-Beispiel: eine CObList mit 2 Elementen
&Nbsp; einem Käfig auf $4C1E 65
einem Käfig auf $4B22 21