CComBSTR::operator &
Возвращает адрес BSTR, хранящиеся в элементе m_str.
BSTR* operator &( ) throw( );
Заметки
CComBstr operator & имеет специальное утверждение, связанное с ней для определения утечек памяти.Программа утвердит, когда член m_str инициализации.Это утверждение было создано для определения ситуации, когда программист использует & operator чтобы присвоить новое значение элемента m_str без освобождения первое выделение m_str.Если m_str АННУЛИРУЮТ, программа предполагается, что m_str не было выделен.В этом случае программа не утвердит.
Это утверждение не включена по умолчанию.Укажите ATL_CCOMBSTR_ADDRESS_OF_ASSERT для включения это утверждение.
Пример
#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"));
Требования
Header: atlbase.h