CArray::SetSize
空の配列または要素を持つ配列のサイズを設定します。必要に応じてメモリを割り当てます。
void SetSize(
INT_PTR nNewSize,
INT_PTR nGrowBy = -1
);
パラメーター
nNewSize
新しい配列のサイズ (要素数) を指定します。0 以上であることが必要です。nGrowBy
サイズを増やす必要があるときに、確保する要素スロットの最小数を指定します。
解説
新しいサイズが古いサイズよりも小さい場合、配列は切り捨てられ、すべての未使用のメモリが解放されます。
配列を使い始める前に、この関数を使って配列のサイズを設定します。SetSize を使用せずに要素を配列に追加すると、配列が頻繁に再割り当てされ、コピーされます。頻繁に再割り当てとコピーを行うとパフォーマンスが低下し、メモリ断片化の原因になります。
パラメーター nGrowBy は、配列を拡張するときの内部メモリの割り当てに影響します。GetSize や GetUpperBound で返される配列のサイズには影響しません。既定値を使うと、MFC はほとんどの場合、メモリの断片化を防ぎ、効果的に最適化するように計算してメモリを割り当てます。
使用例
CArray::GetData の例を参照してください。
必要条件
ヘッダー: afxtempl.h