在 MFC(Microsoft Foundation Classes)中,CArray 类的 RemoveAt 方法用于从数组中移除指定索引位置的一个或多个元素。这个方法的原型通常如下:
void RemoveAt(
   int nIndex,
   int nCount = 1
);

其中,nIndex 是要移除元素的起始位置索引,nCount 是要移除的元素数量。

以下是一个示例,演示如何使用 CArray 的 RemoveAt 方法:
CArray<int, int> myArray;
myArray.Add(10);
myArray.Add(20);
myArray.Add(30);
myArray.Add(40);

TRACE(_T("Array before removing elements:\n"));
for (int i = 0; i < myArray.GetCount(); ++i)
{
    TRACE(_T("%d "), myArray.GetAt(i));
}

int removeIndex = 1;
int removeCount = 2;
myArray.RemoveAt(removeIndex, removeCount);  // 从索引1开始移除2个元素

TRACE(_T("\nArray after removing elements:\n"));
for (int i = 0; i < myArray.GetCount(); ++i)
{
    TRACE(_T("%d "), myArray.GetAt(i));
}

在这个例子中,首先创建了一个整数数组 myArray 并向其中添加了一些元素。然后,通过循环输出数组中的元素,接着调用 RemoveAt 方法从索引为 1 的位置开始移除 2 个元素,最后再次通过循环输出数组中的元素。

RemoveAt 方法对于在指定位置上移除元素很有用,可以指定要移除的元素数量。请注意,在移除元素后,数组的大小将减小,所以请确保 nIndex 不超过数组的当前大小。


转载请注明出处:http://www.zyzy.cn/article/detail/15469/MFC/CArray