CPtrArray クラス
更新 : 2007 年 11 月
void ポインタの配列をサポートします。
class CPtrArray : public CObject
解説
CPtrArray のメンバ関数は、CObArray クラスのメンバ関数とほぼ同じです。メンバ関数については CObArray クラスの説明を参照してください。関数のパラメータや戻り値として CObject ポインタが使われている箇所は、void ポインタに置き換えてください。
CObject* CObArray::GetAt( int <nIndex> ) const;
は、次のように置き換えます。
void* CPtrArray::GetAt( int <nIndex> ) const;
CPtrArray クラスには IMPLEMENT_DYNAMIC マクロが組み込まれています。このマクロは実行時の型情報へのアクセスと CDumpContext オブジェクトへのダンプをサポートします。ポインタ配列の要素を個別にダンプするには、ダンプ コンテキストの深さの引数を 1 以上に設定します。
メモ : |
---|
配列を使う場合は、あらかじめ SetSize 関数で配列のサイズを確定し、そのメモリを確保します。SetSize を使用せずに要素を配列に追加すると、配列が頻繁に再割り当てされ、コピーされます。頻繁に再割り当てとコピーを行うとパフォーマンスが低下し、メモリ断片化の原因になります。 |
ポインタ配列はシリアル化できません。
ポインタ配列を削除するか、その要素を削除すると、ポインタが削除されます。ポインタが参照している実体は削除されません。
CPtrArray の使い方の詳細については、「コレクション クラス」を参照してください。
必要条件
ヘッダー : afxcoll.h