在 MFC(Microsoft Foundation Classes)的 CArray 类中,SetAtGrow 方法用于在数组中设置指定索引位置的元素的值。与 SetAt 方法不同,SetAtGrow 方法会自动调整数组的大小以确保指定的索引位置是有效的。以下是 CArray::SetAtGrow 方法的签名:
void CArray::SetAtGrow(int nIndex, ARG_TYPE newElement);

其中,nIndex 是要设置的元素的索引,newElement 是新的元素值。如果 nIndex 大于或等于数组的当前大小,SetAtGrow 方法将自动调整数组的大小,使其足够大,以容纳指定的索引位置。

以下是一个示例:
CArray<int, int> myArray;

// 填充数组
myArray.Add(10);
myArray.Add(20);
myArray.Add(30);

// 将索引为 5 处的元素设置为新值 40,并自动调整数组大小
myArray.SetAtGrow(5, 40); // 数组现在为 {10, 20, 30, 0, 0, 40}

SetAtGrow 方法是一种方便的方式,用于设置数组中指定索引位置的元素的值,并在需要时自动调整数组的大小。请注意,这可能会导致数组中新添加的元素被初始化为默认值(例如,对于整数类型,默认为0)。


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