Compartilhar via


Classe de CAdapt

Esse modelo é usado para englobar as classes que redefinem endereço- do operador para retornar algo diferente do endereço do objeto.

template <
   class T
>
class CAdapt

Parâmetros

  • T
    o tipo adaptado.

Membros

bs6acf5x.collapse_all(pt-br,VS.110).gifConstrutores public

Nome

Descrição

CAdapt::CAdapt

o construtor.

bs6acf5x.collapse_all(pt-br,VS.110).gifOperadores públicos

Nome

Descrição

Const T& de CAdapt::operator

Retorna uma referência de const a m_T.

CAdapt::operator T&

Retorna uma referência a m_T.

CAdapt::operator <

Compara um objeto do tipo adaptado com m_T.

CAdapt::operator =

Atribui um objeto do tipo adaptado a m_T.

== De CAdapt::operator

Compara um objeto do tipo adaptado com m_T.

bs6acf5x.collapse_all(pt-br,VS.110).gifMembros públicos de dados

Nome

Descrição

CAdapt::m_T

Os dados que estão sendo adaptados.

Comentários

CAdapt é um modelo simples usado para englobar as classes que redefinem endereço- de operador (operator &) para retornar algo diferente do endereço do objeto.Exemplos de essas classes incluem CComBSTRde ATL, CComPtr, e classes de CComQIPtr , e a classe COM suporte do compilador, _com_ptr_t.Todas essas classes redefinem endereço- do operador para retornar o endereço de um de seus membros de dados ( BSTR no caso de CComBSTR, e um ponteiro de interface no caso de outras classes).

Papel primário de CAdapt é ocultar endereço- do operador é definido pela classe T, e ainda mantém as características da classe adaptada.CAdapt atende essa função mantendo um membro público, m_T, do tipo T, e definir operadores de conversão, operadores de comparação, e um construtor de impressão para permitir que as especializações de CAdapt são tratadas como se eles objetos do tipo T.

A classe CAdapt do adaptador é útil porque muitas classes do recipiente (como o contêiner de STL classe) espera pode obter os endereços de sua usando contida de objetos endereço- do operador.A redefinição de endereço- do operador pode ser uma distração esse requisito, causando normalmente erros de compilação e evitando o uso de tipo unadapted com o recipiente.CAdapt fornece uma maneira em torno de esses problemas.

Normalmente, você usará CAdapt quando você deseja armazenar CComBSTR, CComPtr, CComQIPtr, ou objetos de _com_ptr_t em um recipiente de STL como list.Você não pode armazenar objetos de esses tipos como este:

std::list< CComBSTR > m_List;

Em vez de isso, você deve armazenar objetos adaptadores como este:

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

Requisitos

Cabeçalho: atlcomcli.h

Consulte também

Outros recursos

Visão geral da classe de ATL