Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2002-01-17 11:18:43

At 09:59 AM 1/17/2002, Andrei Alexandrescu wrote:

>> A smart shared_ptr can do the right thing on b.reset(), but on
>> the user will be left with a Base* and the undefined behavior is not
>> away.
>I agree that release() is dangerous. It is also required if you want to
>smart pointers with any COM (and, I suspect, CORBA) projects. The typical
>scenario (shown by Rob), is when you need to return a pointer in an out
>parameter. In that case you need to tell your smart pointer you want to
>take ownership of the pointee away from the smart pointer.

Is this related to a specific policy instance? Can release() only be
exposed in that particular policy instance? Thus shared_ptr and
scoped_ptr, for example, wouldn't have release(), but an Ownership policy
related to COM objects would expose release().


Boost list run by bdawes at, gregod at, cpdaniel at, john at