Partager via


CComBSTR::operator et

Retourne l'adresse d' BSTR stocké dans le membre de m_str .

BSTR* operator &( ) throw( );

Notes

CComBstr operator & a une assertion spéciale associée pour aider à identifier des fuites de mémoire.Le programme affirmera lorsque le membre d' m_str est initialisé.Cette assertion a été créée pour identifier des situations où un programmeur utilise & operator pour assigner une nouvelle valeur au membre d' m_str sans libérer la première allocation d' m_str.Si les égaux d' m_str ANNULENT, le programme suppose que le m_str n'a pas encore été alloué.Dans ce cas, le programme n'affirmera pas.

Cette assertion n'est pas activée par défaut.Définissez ATL_CCOMBSTR_ADDRESS_OF_ASSERT pour activer cette assertion.

Exemple

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

Configuration requise

Header: atlbase.h

Voir aussi

Référence

Classe CComBSTR