I'm not sure who formulated this, but the wiki is wrong. The word โunificationโ appears exactly at zero time in the C ++ 0x standard โstandardโ (currently you really should use the phrase โC ++ 11โ, it was approved in August 2011).
The correct term is a copy. From C ++ 0x (n3242, the latter I can get without shelling money), section 12.8 Copying and moving class objects, /34
:
When certain criteria are met, the implementation allows you to omit the copy / move construct of the class object, even if the copy / move constructor and / or destructor for the object have side effects.
In such cases, the implementation considers the source and purpose of the missed copy / move operation as just two different ways of accessing the same object, and the destruction of this object occurs at later times when two objects would be destroyed without optimization.
This exclusion of copy / move operations, called elision copy , is allowed in the following cases (which can be combined to eliminate multiple copies) ...
paxdiablo
source share