配列、リスト、およびマップ クラス

集計のデータを処理するため、クラス ライブラリのコレクション クラスのグループを提供 ? 配列、リスト、および「マップ」? は、さまざまな定義済みの型のオブジェクトを保持することができます。コレクションは動的にサイズ変更されます。これらのクラスは、任意のプログラムでは、Windows の記述されたかどうかに使用できます。しかし、彼らは、アプリケーション フレームワークのドキュメント クラスを定義するデータ構造を実装するため便利です。容易に特化されたコレクション クラスこれらから派生することができます。 またはそれらをテンプレート クラスに基づくを作成することができます。これらの方法の詳細については、参照してください コレクションVisual の C++ プログラマのガイドテンプレート クラスのこの概要テンプレート コレクション クラスの一覧。

配列は連続してメモリに格納されている 1 次元のデータ構造です。要素のインデックスを要素のサイズを乗算して、結果配列のベース アドレスに追加する任意の要素のメモリ アドレスを計算できるので、非常に高速ランダム アクセスをサポートします。しかし、配列の要素を配列に挿入する必要がある場合は、過去の全体の配列から要素を挿入挿入する要素のための部屋に移動するが非常に高価です。配列することができます成長し、必要に応じて縮小。

リストは配列に似ていますが、非常に異なる格納されます。リスト内の各要素には、二重にリンクされたリストを作ることで、前と次の要素へのポインターも含まれています。追加またはそうだけいくつかのポインターを変更するためのアイテムを削除するが非常に高速です。すべての検索リストの終了のいずれかで起動する必要がありますのでただし、リストを検索高価なことができます。

マップ キー値をデータ値に関連しています。たとえば、マップのキーは文字列で、データ ポインター リストにことができます。マップには、特定の文字列に関連付けられたポインターを与えることを問い合わせること。検索は地図ハッシュ テーブル キー参照に使用するために高速です。追加と削除も高速です。マップは、他のデータ構造と補助の指標としてよく使用されます。MFC を使用して特殊なマップと呼ばれるは「 メッセージ マップ「Windows メッセージは、メッセージ ハンドラー関数へのポインターをマップするには。

Index