共用方式為


CObList::RemoveAt

從這份清單中移除指定的項目。

void RemoveAt(
   POSITION position 
);

參數

  • position
    從清單中移除之項目的位置。

備註

當您從 CObList時移除項目,當您從清單中移除的物件指標。 您必須自行刪除物件。

您必須確定您的 位置 值代表清單中的有效位置。 如果其無效,則 MFC 程式庫的偵錯版本的判斷提示。

下表顯示類似 CObList::RemoveAt的其他成員函式。

類別

成員函式

CPtrList

void RemoveAt( POSITION 位置);

CStringList

void RemoveAt( POSITION 位置);

範例

在移除項目清單在反覆項目期間時,請務必小心。 下列範例顯示可確保 GetNext的有效 位置 值的移除技術。

提供 CAge 類別的目錄參閱 CObList::CObList

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      

本程式的結果如下:

RemoveAt example: A CObList with 2 elements

a CAge at $4C1E 65

a CAge at $4B22 21

需求

Header: afxcoll.h

請參閱

參考

CObList 類別

階層架構圖