次の方法で共有


CAtlMap クラス

更新 : 2007 年 11 月

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

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

参照

処理手順

Marquee サンプル : スクリプトを使用したパフォーマンス モニタ データの提供

UpdatePV サンプル : 更新可能な OLE DB プロバイダの実装

その他の技術情報

CAtlMap のメンバ

ATL クラスの概要