CObList::RemoveAt
從這份清單中移除指定的項目。
void RemoveAt(
POSITION position
);
參數
- position
從清單中移除之項目的位置。
備註
當您從 CObList時移除項目,當您從清單中移除的物件指標。 您必須自行刪除物件。
您必須確定您的 位置 值代表清單中的有效位置。 如果其無效,則 MFC 程式庫的偵錯版本的判斷提示。
下表顯示類似 CObList::RemoveAt的其他成員函式。
類別 |
成員函式 |
---|---|
void RemoveAt( POSITION 位置); |
|
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