From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-10-02 07:47:46


From: "Howard Hinnant" <hinnant_at_[hidden]>
>
> I can't speak for the rest of the people that were in the room that
> day. But the opinion I voiced to others in that room is that we should
> proceed with caution. I did not (and do not) want to standardize the
> wrong smart pointers, and I remain unconvinced that all of the smart
> pointer issues are sufficiently ironed out. That effectively had me
> saying: No, I don't want to standardize scoped_ptr and shared_ptr. It
> is not because I think these classes aren't worth standardizing. It is
> because I don't think the subject is yet mature enough. For one thing,
> I think move semantics (if it comes to be) could have an impact on
> smart pointer design. Template typedefs are another possibly
> significant influence. And (templated) opaque typedefs yet a third
> potentially influential factor. [...]

You are right that the subject is not mature enough... but not for the
reasons you mentioned (IMO). Move semantics do not affect shared_ptr as it's
CopyConstructible; auto_ptr and move_ptr are not. I don't see how template
typedefs can affect shared_ptr, either. You may be able to arrive at
shared_ptr<T> via a class template or via a template typedef, but once you
are there, you need to specify semantics either way, so what's the
difference?