Partilhar via


Classe CAdapt

Este modelo é usado para empacotar classes que redefinem o operador adress-of para retornar algo Outros que o endereço do objeto.

template <
   class T
>
class CAdapt

Parâmetros

  • T
    O tipo adaptado.

Comentários

CAdapt é um modelo simples usado para empacotar classes que redefinem o (operador adress-ofoperador &) para retornar algo Outros que o endereço do objeto.Exemplos de tais classes CComBSTR, CComPtr, e CComQIPtr classe, suporte a classes e o compilador COM _com_ptr_t. Todas essas classes redefinem o operador adress-of para retornar o endereço de um de seus membros de dados (um BSTR no caso de CComBSTRe um ponteiro de interface no caso de outras classes).

CAdaptda função principal é ocultar o endereço - do operador definida pela classe T, mas ainda manter as características da classe adaptada. CAdapt atenda a essa função, mantendo um membro público, m_T, of type Te definindo sistema autônomo operadores de conversão, operadores de comparação e um construtor de cópia para permitir especializações em dos CAdapt deve ser tratado sistema autônomo se fossem objetos do tipo T.

O adaptador de classe CAdapt é útil porque muitas classes de contêiner (por exemplo, classes de contêiner STL) esperam poder obter sistema autônomo endereço es de seus objetos contidos usando o endereço - do operador. A redefinição do operador adress-of pode confound esse requisito, geralmente causando erros de compilação e evitar o uso do tipo unadapted com esse contêiner.CAdapt Fornece uma forma em torno desses problemas.

Normalmente, você usará CAdapt Quando você deseja armazenar CComBSTR, CComPtr, CComQIPtr, ou _com_ptr_t objetos em um contêiner STL, sistema autônomo um lista.Você não pode armazenar objetos desses tipos como este:

std::list< CComBSTR > m_List;

Em vez disso, você deve armazenar objetos de adaptador como este:

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

Requisitos

Cabeçalho: atlcomcli.h

Consulte também

Outros recursos

CAdapt membros

Visão geral do ATL classe