次の方法で共有


CObArray::SetSize

更新 : 2007 年 11 月

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

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

パラメータ

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

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

解説

新しいサイズが古いサイズよりも小さい場合、配列は切り捨てられ、すべての未使用のメモリが解放されます。配列を使う前に、SetSize 関数を呼び出して配列のサイズを設定するのが効果的です。これで、項目を追加するたびに配列のメモリの再割り当てや要素のコピーの必要がなくなります。

パラメータ nGrowBy は、配列を拡張するときの内部メモリの割り当てに影響します。GetSize 関数や GetUpperBound 関数が返す配列のサイズには影響しません。

配列のサイズが増えた場合、新しく割り当てられた CObject * ポインタはすべて NULL に設定されます。

CObArray::SetSize に類似している他のメンバ関数を以下に示します。

クラス

メンバ関数

CByteArray

void SetSize( INT_PTRnNewSize, intnGrowBy = -1 );

    throw( CMemoryException* );

CDWordArray

void SetSize( INT_PTRnNewSize, intnGrowBy = -1 );

    throw( CMemoryException* );

CPtrArray

void SetSize( INT_PTRnNewSize, intnGrowBy = -1 );

    throw( CMemoryException* );

CStringArray

void SetSize( INT_PTRnNewSize, intnGrowBy = -1 );

    throw( CMemoryException* );

CUIntArray

void SetSize( INT_PTRnNewSize, intnGrowBy = -1 );

    throw( CMemoryException* );

CWordArray

void SetSize( INT_PTRnNewSize, intnGrowBy = -1 );

    throw( CMemoryException* );

使用例

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

必要条件

ヘッダー : afxcoll.h

参照

参照

CObArray クラス

階層図

その他の技術情報

CObArray のメンバ