共用方式為


CObArray::RemoveAt

移除開始在陣列中的指定索引處的一或多個項目。

void RemoveAt(
   INT_PTR nIndex,
   INT_PTR nCount = 1 
);

參數

  • nIndex
    大於或等於 0 且小於或等於 GetUpperBound所傳回值的整數索引。

  • nCount
    要移除的元素數目。

備註

在處理序中,它將在移除的後面的項目上的所有項目底下。 它會將陣列的上限,但無法釋放記憶體。

如果您要在移除點上嘗試移除多個元素陣列 (包含,則程式庫的偵錯版本的判斷提示。

RemoveAt 函式可從陣列移除 CObject 指標,不過,它不會刪除物件。

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

類別

成員函式

CByteArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CDWordArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CPtrArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CStringArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CUIntArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CWordArray

void RemoveAt( INT_PTRnIndex, INT_PTR nCount = 1 );

範例

針對所有集合範例的 CAge 類別的目錄參閱 CObList::CObList

CObArray arr;
CObject* pa;

arr.Add(new CAge(21)); // Element 0
arr.Add(new CAge(40)); // Element 1
if((pa = arr.GetAt(0)) != NULL)
{
    arr.RemoveAt(0);  // Element 1 moves to 0.
    delete pa; // Delete the original element at 0.
}
#ifdef _DEBUG
   afxDump.SetDepth(1);
   afxDump << _T("RemoveAt example: ") << &arr << _T("\n");
#endif      

本程式的結果如下:

RemoveAt example: A CObArray with 1 elements

[0] = a CAge at $4606 40

需求

Header: afxcoll.h

請參閱

參考

使用 CObArray 類別

階層架構圖

CObArray::SetAt

CObArray::SetAtGrow

CObArray::InsertAt