CComBSTR::operator &
Vrátí adresu BSTR uložené v m_str člena.
BSTR* operator &( ) throw( );
Poznámky
**CComBstr operator &**má zvláštní uplatnění přidružen k identifikaci nevrácené paměti.Program bude uplatňovat při m_str člen je inicializován.Toto tvrzení bylo vytvořeno pro identifikaci situací, kde se používá programátor & operator přiřadit novou hodnotu pro m_str člena bez uvolnění prvního přidělení m_str .Pokud m_str se rovná NULL, program předpokládá, že m_str nebyla přidělena ještě.V takovém případě program nebude výrazu.
Toto tvrzení není ve výchozím nastavení povolena.Definovat ATL_CCOMBSTR_ADDRESS_OF_ASSERT povolit toto tvrzení.
Příklad
#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"));
Požadavky
Header:atlbase.h