CPtrArray::SetAtGrow 是 MFC(Microsoft Foundation Classes)中 CPtrArray 类的公共方法之一,用于设置指定索引位置的元素值,同时确保数组足够大以容纳指定索引位置。该方法的声明如下:
void CPtrArray::SetAtGrow(int nIndex, void* newElement);

  •  nIndex 参数表示要设置元素值的索引位置。

  •  newElement 参数表示要设置的新元素值,通常为一个指针。


如果指定的索引位置超出当前数组的范围,SetAtGrow 方法将调整数组的大小,以确保足够大,然后设置指定位置的元素值。如果数组已经足够大,就直接设置元素值而无需调整大小。

以下是一个简单的示例,演示如何使用 CPtrArray::SetAtGrow 方法:
CPtrArray myPtrArray;

// 设置索引为 2 处的元素值
MyClass* newElement = new MyClass();
myPtrArray.SetAtGrow(2, newElement);

// 数组中的元素为:[nullptr, nullptr, newElement]

在这个示例中,首先创建了一个 CPtrArray 类的实例 myPtrArray。然后,通过调用 SetAtGrow 方法,将索引为 2 处的元素值设置为新的 MyClass 对象。由于当前数组为空,SetAtGrow 会调整数组的大小,以容纳索引为 2 的位置。最终,数组中的元素为 [nullptr, nullptr, newElement]。


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