CComBSTR::operador &
Retorna o endereço do BSTR armazenado na m_str membro.
BSTR* operator &( ) throw( );
Comentários
CComBstr operator & tem uma declaração especial associado a ele para ajudar a identificar vazamentos de memória. O programa irá declarar quando o m_str membro é inicializado. Essa afirmação foi criada para identificar situações em que um programador usa o & operator Para atribuir um valor novo para m_str membro sem liberar a primeira alocação de m_str. If m_str é igual a nulo, o programa assumirá que m_str não foi alocado ainda. Nesse caso, o programa não irá declarar.
Essa afirmação não é ativada por padrão.Defina ATL_NO_CCOMBSTR_ADDRESS_OF_ASSERT para permitir que 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: atlcomcli.h