Freigeben über


CComBSTR::operator &

Gibt die Adresse BSTR zurück, das im m_str-Member gespeichert wird.

BSTR* operator &( ) throw( );

Hinweise

CComBstr operator & hat eine spezielle Assertion, die ihr zugeordnet wird, um zu helfen, Speicherverluste zu identifizieren. Das Programm wird erläutert, wann der m_str-Member initialisiert wird. Diese Assertion wurde erstellt, um Situationen zu identifizieren, in denen ein Programmierer & operator verwendet, um einen neuen Wert zuweisen m_str-Member, ohne die erste Zuordnung von m_str freizugeben. Wenn m_str gleich NULL hat, wird das Programm an, dass m_str noch nicht zugeordnet wurde. In diesem Fall wird das Programm nicht.

Diese Assertion ist standardmäßig nicht aktiviert. Definieren Sie ATL_CCOMBSTR_ADDRESS_OF_ASSERT, um diese Assertion zu aktivieren.

Beispiel

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

Anforderungen

Header: atlbase.h

Siehe auch

Referenz

CComBSTR-Klasse