Created on 2015-03-19.00:00:00 last changed 94 months ago
Proposed resolution (September, 2015):
Change 6.7.7 [class.temporary] paragraphs 4-5 as follows:
There are
twothree contexts in which temporaries are destroyed at a different point than the end of the full-expression. The first context is when a default constructor is called to initialize an element of an array with no corresponding initializer (9.4 [dcl.init]). The second context is when a copy constructor is called to copy an element of an array while the entire array is copied (7.5.6 [expr.prim.lambda], 11.4.5.3 [class.copy.ctor]).IfIn either case, if the constructor has one or more default arguments, the destruction of every temporary created in a default argument is sequenced before the construction of the next array element, if any.The
secondthird context is when a reference is bound to a temporary.117 The temporary to which the reference is bound...
[Adopted at the February, 2016 meeting.]
The lifetime of temporaries introduced for default arguments in array copying is not specified clearly. Presumably it should be treated like default arguments in default constructors (6.7.7 [class.temporary] paragraph 4), which deletes each element's set of default argument temporaries before construction of the next element.
History | |||
---|---|---|---|
Date | User | Action | Args |
2017-02-06 00:00:00 | admin | set | status: tentatively ready -> cd4 |
2015-11-10 00:00:00 | admin | set | messages: + msg5604 |
2015-11-10 00:00:00 | admin | set | status: drafting -> tentatively ready |
2015-03-19 00:00:00 | admin | create |