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