auto_ptr в своем конструкторе забирает владение этим объектом и при выходе за область видимости (в своем деструкторе) освобождает память, так что с этой стороны все ок.
Спасибо.
std::auto_ptr _return1 (new TMemoryStream());
Image1->Bitmap->SaveToStream(_return1.get());
А функция
get() вообще что делает? Она всегда должна возвращать кусок памяти куда указывает auto_ptr? Правильно?
Только функцию сохранения надо немного изменить - после создания auto_ptr необходимо дополнительно проверить на нулевой указатель
Эмбаркодеровцы не доработали пример.
Этот пример был мною замечен прямо в RADXE7 на стартовой странице студии (см.рис.).