$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Andrei Alexandrescu (andrewalex_at_[hidden])
Date: 2002-01-17 09:59:23
> A smart shared_ptr can do the right thing on b.reset(), but on b.release()
> the user will be left with a Base* and the undefined behavior is not far
> away.
I agree that release() is dangerous. It is also required if you want to use
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.
Andrei