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