
"Rani Sharoni" <rani_sharoni@hotmail.com> writes:
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.
Something's missing from that sentence to make it comprehensible. It has the same grammatical structure as "When my hand is blue or my hair is green and I was a fool", which is not a complete sentence. -- Dave Abrahams Boost Consulting www.boost-consulting.com