共用方式為


CAdapt 類別

這個範本可用來封裝刪除物件位址以外,重新定義傳址運算子傳回值的類別。

template <
   class T
>
class CAdapt

參數

  • T
    相容的型別。

Members

bs6acf5x.collapse_all(zh-tw,VS.110).gif公用建構函式

名稱

描述

CAdapt::CAdapt

建構函式。

bs6acf5x.collapse_all(zh-tw,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(zh-tw,VS.110).gif公用資料成員

名稱

描述

CAdapt::m_T

符合的資料。

備註

CAdapt 是一種簡單範本包裝重新定義傳址運算子的類別 (operator _&) 刪除物件位址以外,傳回的項目。 這類類別的範例包括 ATL 的 CComBSTRCComPtrCComQIPtr 類別和編譯器 COM 支援類別, _com_ptr_t。 這些類別都重新定義傳址運算子會傳回位址一它們的資料成員 (在 CComBSTR下的 BSTR 和其他類別的情況下的介面指標)。

類別是隱藏傳址運算子定義的 CAdapt 的主要角色, T,仍然符合的類別的特性。 CAdapt 滿足這個角色按住 Public 成員, m_T,型別 T並且藉由定義轉換運算子、比較運算子和複製建構函式可讓 CAdapt 的特製化,視為已 T型別物件。

配接器類別 CAdapt 很有用,因為許多容器類別 (例如 STL 容器類別) 使用傳址運算子,預期要取得其所包含的物件位址。 重新定義運算子的位址可以模糊化需求時,通常會導致編譯錯誤並防止使用該容器的不符合型別。 CAdapt 這些問題提供一種方法。

通常,,當您在 STL 容器要儲存 CComBSTRCComPtrCComQIPtr_com_ptr_t 物件 (例如 list,您將使用 CAdapt 。 您無法將這些型別物件如下所示:

std::list< CComBSTR > m_List;

相反地,您應該將這類的配接器物件:

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

需求

Header: atlcomcli.h

請參閱

其他資源

ATL 類別概觀