次の方法で共有


CAdapt クラス

このテンプレートは、オブジェクトのアドレス以外の値を返すために、アドレス演算子を再定義するクラスをラップするときに使用されます。

template <
   class T
>
class CAdapt

パラメーター

  • T
    同期された型。

メンバー

bs6acf5x.collapse_all(ja-jp,VS.110).gifパブリック コンストラクター

名前

説明

CAdapt::CAdapt

コンストラクターです。

bs6acf5x.collapse_all(ja-jp,VS.110).gifパブリック演算子

名前

説明

CAdapt::operator const T&

m_Tへの const の参照を返します。

CAdapt::operator T&

m_T への参照を返します。

CAdapt::operator <

m_Tの同期型のオブジェクトを比較します。

CAdapt::operator =

m_Tに同期された型のオブジェクトを割り当てます。

CAdapt::operator ==

m_Tの同期型のオブジェクトを比較します。

bs6acf5x.collapse_all(ja-jp,VS.110).gifパブリック データ メンバー

名前

説明

CAdapt::m_T

同期するデータ。

解説

CAdapt は、オブジェクトのアドレス以外の値を返すために (operator &アドレス演算子) の再定義するクラスをラップするために使用される単純なテンプレートです。このようなクラスの例は、ATL CComBSTRCComPtrCComQIPtr のクラスが含まれており、コンパイラ COM クラスは、_com_ptr_tをサポートします。これらのクラスはすべてアドレス演算子のデータ メンバー ( CComBSTRの場合は BSTR、および他のクラスの場合は) インターフェイス ポインターの 1 種類のアドレスを返すように再定義します。

クラス Tで定義されている CAdapt の主な役割は、アドレス演算子を非表示にするだけでなく、同期されたクラスの特性を保持します。CAdapt はパブリック メンバー、m_Tを、型 Tのままにして、変換演算子、比較演算子と CAdapt の特殊化が処理済みとコピー コンストラクターを定義して T型のオブジェクトである場合は、このロールを実行します。

多くのコンテナー クラス (STL コンテナーのような分類します) アドレス演算子を使用して含まれているオブジェクトのアドレスを受け取るため、アダプターの派生クラス CAdapt と便利です。アドレス演算子の再定義は、通常、コンパイル エラーが発生し、そのコンテナーを持つ unadapted 型の使用を防ぐこの条件では、異なるできます。CAdapt は、それらの問題を囲む方法を提供します。

通常 listなど、STL コンテナーに CComBSTRCComPtrCComQIPtr、または _com_ptr_t のオブジェクトを格納する場合、CAdapt を使用します。このようなこれらの型のオブジェクトを格納できません:

std::list< CComBSTR > m_List;

代わりに、このようなアダプターのオブジェクトを格納する必要があります:

std::list< CAdapt< CComBSTR > > m_List;

必要条件

Header: atlcomcli.h

参照

その他の技術情報

ATL クラスの概要