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
>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 acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk