| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

MFC コレクション

提供: MyMemoWiki
2020年2月16日 (日) 04:29時点におけるPiroto (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

MFC コレクション

2つのコレクションクラス

MFC のコレクション クラスでは、2 種類のコレクション クラスがある。

  1. C++ テンプレートから作成したコレクション クラス
  2. テンプレートで作成されていないコレクション クラス

独自のデータ型のためにタイプ セーフな (型が保証された) コレクション クラスを新規作成する場合は、テンプレート ベースのクラスの使用を推奨

コレクション クラスの基本形

コレクションクラス 内容
リスト 要素を順番に並べたインデックスのないリスト。方向のリンク リストとして実装されます。先頭 と 末尾 があり、リストの先頭または末尾の要素の追加や削除、または中間の要素の挿入と削除を高速で行うことができる
配列 オブジェクトを順番に並べた、整数インデックス付きの配列です。サイズを動的に変更できます。
マップ(ディクショナリ) キー オブジェクトと値オブジェクトを対応付ける

テンプレート ベースのコレクション クラス

  • 任意の型のオブジェクトを含むタイプ セーフなコレクションを実装する最も簡単な方法は、MFC のテンプレート ベースのクラスを使用する
コレクションの内容 配列 リスト マップ
任意の型のオブジェクトのコレクション CArray CList CMap
任意の型のオブジェクトを指すポインタのコレクション CTypedPtrArray CTypedPtrList CTypedPtrMap


テンプレート ベースでないコレクション クラス

  • コレクションを新規作成する場合は、テンプレート ベースのクラスを推奨
配列 リスト マップ
CObArray CObList CMapPtrToWord
CByteArray CPtrList CMapPtrToPtr
CDWordArray CStringList CMapStringToOb
CPtrArray CMapStringToPtr
CStringArray CMapStringToString
CWordArray CMapWordToOb
CUIntArray CMapWordToPtr