次の方法で共有


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 以上に設定します。

99hh7dk4.alert_note(ja-jp,VS.90).gifメモ :

配列を使う場合は、あらかじめ SetSize 関数で配列のサイズを確定し、そのメモリを確保します。SetSize を使用せずに要素を配列に追加すると、配列が頻繁に再割り当てされ、コピーされます。頻繁に再割り当てとコピーを行うとパフォーマンスが低下し、メモリ断片化の原因になります。

ポインタ配列はシリアル化できません。

ポインタ配列を削除するか、その要素を削除すると、ポインタが削除されます。ポインタが参照している実体は削除されません。

CPtrArray の使い方の詳細については、「コレクション クラス」を参照してください。

必要条件

ヘッダー : afxcoll.h

参照

参照

CObject クラス

階層図

CObArray クラス

その他の技術情報

CPtrArray のメンバ