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