CObList::RemoveAt
Usuwa określony element z listy.
void RemoveAt(
POSITION position
);
Parametry
- stanowisko
Położenie elementu, który ma zostać usunięty z listy.
Uwagi
Po usunięciu elementu z CObList, Usuń wskaźnik do obiektu z listy.Jest obowiązek usunąć same obiekty.
Musi zapewnić, że Twój stanowisko wartość reprezentuje prawidłową pozycję na liście.Jeśli jest nieprawidłowa wersja debugowania biblioteki klas Microsoft Foundation potwierdza.
W poniższej tabeli przedstawiono funkcje, które są podobne do innego członka CObList::RemoveAt.
Klasa |
Funkcja Członkowskie |
---|---|
void RemoveAt (pozycja stanowisko ); |
|
void RemoveAt (pozycja stanowisko ); |
Przykład
Należy zachować ostrożność podczas usuwania elementu podczas iteracji listy.Poniższy przykład ilustruje techniki usuwania, zapewniający prawidłową stanowisko wartość dla GetNext.
Zobacz CObList::CObList listę CAge klasy.
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
Wyniki tego programu są następujące:
RemoveAt example: A CObList with 2 elements
a CAge at $4C1E 65
a CAge at $4B22 21
Wymagania
Nagłówek: afxcoll.h