Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-09-21 10:16:18


From: "David Abrahams" <dave_at_[hidden]>
> The more I think about scoped_ptr the harder it gets to justify using it.
> It still has explicit transfer-of-ownership via reset(), though there's no
> implicit transfer-of-ownership.

No, reset() cannot be used to transfer ownership away from a scoped_ptr. You
can only transfer ownership into a scoped_ptr, something that you do with
the constructor as well.

> In some sense, std::auto_ptr<T> const is a
> better candidate for the role that I've always thought scoped_ptr was
> playing, since there is no reset() member. The case where you need to
> default construct a smart pointer and later initialize it is enough of a
> corner that I'd be inclined to recommend a straight-up auto_ptr for that.
I
> guess the only downside to auto_ptr for that role is the
> automatically-generated copy constructor and assignment operator.

This is scoped_ptr's biggest selling point as far as I'm concerned. :-)


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk