Udostępnij za pośrednictwem


CComBSTR::operator &

 

Zwraca adres BSTR przechowywane w m_str Członkowskich.

Składnia

BSTR* operator &( ) throw( );

Uwagi

**CComBstr operator &**specjalne potwierdzenia skojarzonego z nim do identyfikowania przecieków pamięci.Program będzie assert, gdy m_str Członkowskich jest zainicjowany.To twierdzenie zostało utworzone identyfikowanie sytuacji, gdy programista używa & operator do przypisania nowej wartości do m_str Członkowskie bez zwalniania pierwsza alokacja m_str.Jeśli m_str jest równa NULL, program zakłada, że m_str nie został jeszcze przydzielona.W takim przypadku program nie będzie potwierdzenia.

Twierdzenie to nie jest domyślnie włączona.Definiowanie ATL_CCOMBSTR_ADDRESS_OF_ASSERT umożliwiające tego twierdzenia.

#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"));

Wymagania

**Header:**atlbase.h

Zobacz też

Klasa CComBSTR