CArray::SetSize

void SetSize(int nNewSize, int nGrowBy = -1);
  throw(CMemoryException);

参数:
nNewSize新的数组大小(元素的个数)。必须大于或等于0。
nGrowBy如果有必要扩展数组大小时,这是要分配的元素位置的最小值。

说明:
建立一个空的或已存在数组的大小;如果必要,则分配内存。
如果新的大小比以前的大小的话,则数组被截短并且所有未使用的内存被释放。
在开始使用数组之前,使用此函数设置数组的大小。
如果没有使用SetSize,则为数组添加元素就会引起频繁地重分配和拷贝。频繁地重分配和拷贝不仅无效率,而且会造成内存碎片。
当数组正在扩张时,nGrowBy参数会影响内部地内存分配。正象GetSize和GetUpperBound提到地那样,它的使用不会数组大小。如果使用缺省值,则MFC分配内存会使用计算方法,避免内存碎片并加已优化,使之对大多数的情况都更有效率。

请参阅:CArray::GetUpperBound, CArray::GetSize