次の方法で共有


CAtlMap クラス

このクラスには、マップ オブジェクトを作成および管理するためのメソッドが用意されています。

template<
   typename K,
   typename V,
   class KTraits = CElementTraits< K >,
   class VTraits = CElementTraits< V >
>
class CAtlMap

パラメーター

  • K
    キー要素の型。

  • V
    値要素の型。

  • KTraits
    キー要素をコピーまたは移動するコード。 詳細については、「CElementTraits クラス」を参照してください。

  • VTraits
    値要素をコピーまたは移動するコード。

解説

CAtlMap は、指定された型のマップ配列をサポートし、キー要素とそれに関連付けられた値で構成される順序付けされていない配列を管理します。 キーと値で構成される要素は、ハッシュ アルゴリズムを使用して格納されるため、データが大量でも効率的に格納および取得できます。

KTraits パラメーターと VTraits パラメーターは、要素のコピーや移動を補足するコードを持つ特徴 (traits) クラスです。

CRBMap クラスは、CAtlMap の代替クラスとして使用できます。 CRBMap にもキーと値の組み合わせを格納できますが、パフォーマンス特性が異なります。 CRBMap オブジェクトに対するアイテムの挿入、キーの検索、およびキーの削除にかかる時間は、要素数を n とすると、log(n) の次数となります。 CAtlMap では、これらの操作すべてにかかる時間は最長でも n の次数で、通常は一定しています。 そのため、標準的な場合は CAtlMap の方が処理は高速です。

これ以外にも、CRBMapCAtlMap では、格納している要素の反復処理の方法が異なります。 CRBMap では、要素は並べ替えの順序に従って処理されます。 CAtlMap では、要素は順序付けされておらず、反復処理のときに順序付けを推論されることもありません。

格納される要素が少量の場合は、CSimpleMap クラスの使用を検討してください。

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

必要条件

**ヘッダー:**atlcoll.h

参照

処理手順

マーキーのサンプル:スクリプトを使用してデータを監視するパフォーマンスを提供します。

UpdatePV サンプル:更新可能な OLE DB プロバイダを実装します。

その他の技術情報

CAtlMap のメンバー

ATL クラスの概要