CObList クラス
更新 : 2007 年 11 月
一意でない CObject ポインタの順序付きリストをサポートします。このリストには、順番にアクセスすることも、ポインタ値を使ってアクセスすることもできます。
class CObList : public CObject
解説
CObList リストは、双方向リンク リストのように作用します。
POSITION 型の変数はリストのキーとして使用されます。POSITION 変数は、リストを順番にアクセスするための反復子や、リスト内の位置を保持するブックマークに使用できます。この位置は、インデックスとは異なります。
リストの先頭、末尾、および POSITION で示す位置への要素の挿入は、高速に行われます。値またはインデックスで要素を検索するときは、シーケンシャル サーチが行われます。この検索は、リストが長いほど低速になります。
CObList には、シリアル化および配列要素のダンプをサポートする IMPLEMENT_SERIAL マクロが組み込まれています。オーバーロードされた出力ストリーム演算子 (<<) または Serialize メンバ関数を使用して CObject ポインタのリストをアーカイブに格納すると、各 CObject 要素が順次シリアル化されます。
リスト内の各 CObject 要素をダンプするときは、ダンプ コンテキストの深さの引数を 1 以上に設定します。
CObList オブジェクトが削除されるとき、または各要素が削除されるときは、CObject ポインタだけが削除され、ポインタが参照しているオブジェクトは削除されません。
CObList から独自のクラスを派生させることができます。CObject から派生したオブジェクトへのポインタを保持するためにデザインされたこの新しいリスト クラスに、新たにデータ メンバやメンバ関数を加えます。このリストは、任意の CObject ポインタを挿入できるので、厳密にはタイプ セーフではないことに注意してください。
メモ : |
---|
リストをシリアル化するときは、派生クラスの実装で IMPLEMENT_SERIAL マクロを使う必要があります。 |
CObList の使い方の詳細については、「コレクション クラス」を参照してください。
必要条件
ヘッダー : afxcoll.h