nieważne RemoveAt ( stanowisko pozycji );
Parametry
stanowisko
Położenie elementu ma zostać usunięty z listy.
Uwagi
Usuwa określony element z listy.
Po usu&nięciu elementu z CObList, Usuń wskaźnik do obiektu z list.nbsp; Jest odpowiedzialny za usuwanie same obiekty.
Należy się upewnić, że wartość pozycji stanowi ważny pozycji na liście. Jeśli jest nieprawidłowy, następnie wersji debugowania biblioteki klas Microsoft Foundation twierdzi.
Przykład
Należy zachować ostrożność przy usuwaniu element podczas iteracji listy. Poniższy przykład ilustruje techniki usuwania, zapewniający prawidłową wartość pozycji dla GetNext.
Lista cObList;
POŁOŻENIE pos1, pos2;
CObject * pa;
Lista.AddHead (nowe CAge (21));
Lista.AddHead (nowe CAge (40));
Lista.AddHead (nowe CAge (65)); / / Lista zawiera teraz (65 40, 21).
dla (pos1 = lista.GetHeadPosition(); (pos2 = pos1)! = NULL; )
{
nbsp; Jeżeli (lista *(CAge*).GetNext (pos1) == CAge (40))
{
Pa = lista.GetAt (pos2); / / Save starych wskaźnika
/ / usuwania.
Lista.RemoveAt (pos2);
Usuń pa; / / Usuwania unika przeciek pamięci.
}
}
#ifdef _DEBUG
afxDump.SetDepth (1);
afxDump << "RemoveAt przykład:" << & listy << "" \n";
#ENDIF
Wyniki tego programu są następujące:
RemoveAt przykład: CObList z eleme&ntami 2
nbsp; Koszyk w $4C1E 65
Koszyk w $4B22 21
Omówie&nie cObList |nbsp; Klasa członków | Wykres hierarchii