CObList::RemoveAt
Odebere zadaný prvek ze seznamu.
void RemoveAt(
POSITION position
);
Parametry
- umístění
Umístění prvku bude odebrán ze seznamu.
Poznámky
Při odebrání prvku z CObList , ze seznamu odebrat ukazatel objektu.Je vaší odpovědností samotnými objekty odstranit.
Musí zajistit, aby vaše pozice hodnota představuje platné pozici v seznamu.Nepodmíněných Pokud je neplatná, pak ladicí verzi knihovny Microsoft Foundation Class výrazů.
Následující tabulka obsahuje další členské funkce, které jsou podobné CObList::RemoveAt .
Třída |
Členská funkce |
---|---|
zrušit RemoveAt (pozice pozice ); |
|
zrušit RemoveAt (pozice pozice ); |
Příklad
Buďte opatrní při odebrání prvku během seznamu opakování.Následující příklad ukazuje postup odebrání, který zaručuje platný pozice hodnotu pro GetNext.
Viz CObList::CObList seznam CAge třídy.
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
Výsledky z tohoto programu jsou následující:
RemoveAt example: A CObList with 2 elements
a CAge at $4C1E 65
a CAge at $4B22 21
Požadavky
Záhlaví: afxcoll.h