$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Rani Sharoni (rani_sharoni_at_[hidden])
Date: 2004-02-10 10:24:54
David Abrahams wrote:
> I think the actual problem is one of either interpretation of 8.5.3/5
> or overspecification in that very paragraph. If, instead of saying,
>
> "A temporary of type ``cv1 T2'' [sic] is created, and a constructor
> is called to copy the entire rvalue object into the temporary. The
> reference is bound to the temporary or to a sub-object within the
> temporary"
>
> It said:
>
> "A temporary of type ``cv1 T2'' [sic] is constructed using direct
> initialization from the rvalue object. The reference is bound to
> the temporary or to a sub-object within the temporary"
>
> we'd be home free.
I'm not sure.
When source and destinations un-cv types are the same or base/derived direct
initialization and copy initialization are the same (per 8.5/14/4/2) and
this fact was (viciously) exploited by the old auto_ptr.
The only different I can think of is in the esoteric case in which the
copying constructor is explicit.
Rani