CComBSTR::operator &
Restituisce l'indirizzo BSTR memorizzato nel membro m_str.
BSTR* operator &( ) throw( );
Note
CComBstr operator & è un'asserzione speciale associata per identificare le perdite di memoria.Il programma asserirà quando il membro m_str viene inizializzato.Questa asserzione è stata creata per identificare le situazioni in cui un programmatore utilizza & operator per assegnare un nuovo valore al membro m_str senza liberare la prima allocazione m_str.Se è uguale m_str NULL, il programma si presuppone che il m_str non sia ancora stato allocato.In questo caso, il programma non asserirà.
Questa asserzione non è abilitata per impostazione predefinita.Definire ATL_CCOMBSTR_ADDRESS_OF_ASSERT per attivare questa asserzione.
Esempio
#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"));
Requisiti
Header: atlbase.h