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

其中,nIndex 是要插入新元素的位置索引,newElement 是要插入的新元素的值,nCount 是要插入的元素数量。

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

int newElement = 15;
int insertIndex = 1;
myArray.InsertAt(insertIndex, newElement);  // 在索引为1的位置插入新元素

// 输出结果
for (int i = 0; i < myArray.GetCount(); ++i)
{
    TRACE(_T("%d "), myArray.GetAt(i));
}

在这个例子中,首先创建了一个整数数组 myArray 并向其中添加了一些元素。然后,使用 InsertAt 方法在索引为 1 的位置插入了新元素 15。最后,通过循环输出数组中的元素。

如果需要一次性插入多个元素,可以通过指定 nCount 参数的值:
CArray<int, int> myArray;
myArray.Add(10);
myArray.Add(20);
myArray.Add(30);

int newElements[] = {15, 25, 35};
int insertIndex = 1;
int count = sizeof(newElements) / sizeof(newElements[0]);
myArray.InsertAt(insertIndex, newElements, count);  // 在索引为1的位置插入多个新元素

在这个例子中,通过指定 nCount 参数为要插入的元素数量,一次性插入了数组 newElements 中的多个元素。

请注意,在使用 InsertAt 方法时,需要确保插入的位置索引 nIndex 在合法范围内。如果 nIndex 大于数组的当前元素数量,新元素将添加到数组的末尾。


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