Udostępnij za pośrednictwem


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

CPtrList

void RemoveAt (pozycja stanowisko );

CStringList

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

Zobacz też

Informacje

Klasa cObList

Diagram hierarchii