Sdílet prostřednictvím


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

CPtrList

zrušit RemoveAt (pozice pozice );

CStringList

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

Viz také

Referenční dokumentace

Třída cObList

Graf hierarchie