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