次の方法で共有


CArray::SetSize

空の配列または要素を持つ配列のサイズを設定します。必要に応じてメモリを割り当てます。

void SetSize(
   INT_PTR nNewSize,
   INT_PTR nGrowBy = -1 
);

パラメーター

  • nNewSize
    新しい配列のサイズ (要素数) を指定します。 0 以上であることが必要です。

  • nGrowBy
    サイズを増やす必要があるときに、確保する要素スロットの最小数を指定します。

解説

新しいサイズが古いサイズよりも小さい場合、配列は切り捨てられ、すべての未使用のメモリが解放されます。

配列を使い始める前に、この関数を使って配列のサイズを設定します。 SetSize を使用せずに要素を配列に追加すると、配列が頻繁に再割り当てされ、コピーされます。 頻繁に再割り当てとコピーを行うとパフォーマンスが低下し、メモリ断片化の原因になります。

パラメーター nGrowBy は、配列を拡張するときの内部メモリの割り当てに影響します。 GetSizeGetUpperBound で返される配列のサイズには影響しません。 既定値を使うと、MFC はほとんどの場合、メモリの断片化を防ぎ、効果的に最適化するように計算してメモリを割り当てます。

使用例

CArray::GetData の例を参照してください。

必要条件

**ヘッダー:**afxtempl.h

参照

参照

CArray クラス

階層図

CArray::GetUpperBound

CArray::GetSize

CArray::GetCount

その他の技術情報

CArray のメンバー