Partilhar via


CComBSTR::operator &

Retorna o endereço de BSTR armazenado no membro de m_str .

BSTR* operator &( ) throw( );

Comentários

CComBstr operator & tem uma declaração especial associada a ela para ajudar a identificar vazamentos de memória.o programa afirmará quando o membro de m_str é inicializado.Essa declaração foi criada para identificar as situações onde um programador & operator usa para atribuir um novo valor para o membro de m_str sem liberar a primeira alocação de m_str.Se é igual a de m_str ANULAM, o programa pressupõe que o m_str ainda não foi atribuído.Em esse caso, o programa não afirmará.

Essa declaração não é ativada por padrão.Defina ATL_CCOMBSTR_ADDRESS_OF_ASSERT para habilitar essa declaração.

Exemplo

#define ATL_NO_CCOMBSTR_ADDRESS_OF_ASSERT

void MyInitFunction(BSTR* pbstr)
{
   ::SysReAllocString(pbstr, OLESTR("Hello World"));
   return;
}
CComBSTR bstrStr ;
// bstrStr is not initialized so this call will not assert.
MyInitFunction(&bstrStr); 

CComBSTR bstrStr2(OLESTR("Hello World"));
// bstrStr2 is initialized so this call will assert.
::SysReAllocString(&bstrStr2, OLESTR("Bye"));

Requisitos

Header: atlbase.h

Consulte também

Referência

CComBSTR - classe