Created on 2025-07-07.00:00:00 last changed 1 month ago
(From submission #724.)
Subclause 6.8.7 [class.temporary] paragraph 7 and paragraph 8 specify:
The fourth context is when a temporary object is created in the for-range-initializer of either a range-based for statement or an enumerating expansion statement (8.7 [stmt.expand]). If such a temporary object would otherwise be destroyed at the end of the for-range-initializer full-expression, the object persists for the lifetime of the reference initialized by the for-range-initializer.
The fifth context is when a temporary object is created in the expansion-initializer of an iterating or destructuring expansion statement. If such a temporary object would otherwise be destroyed at the end of that expansion-initializer , the object persists for the lifetime of the reference initialized by the expansion-initializer, if any.
There are a number of problems with this phrasing:
Possible resolution:
Change in 6.8.7 [class.temporary] paragraph 7 and paragraph 8 as follows:
The fourth context is when a temporary object is created in the for-range-initializer of
eithera range-based for statementor an enumerating expansion statement (8.7 [stmt.expand]). If such a temporary object would otherwise be destroyed at the end of the for-range-initializer full-expression, the object persists for the lifetime of the reference initialized by the for-range-initializer.The fifth context is when a temporary object is created in the expansion-initializer of
an iterating ora destructuring expansion statement. If such a temporary object would otherwise be destroyed at the end of that expansion-initializer, the object persists for the lifetime of the reference initialized by the expansion-initializer, if any.
History | |||
---|---|---|---|
Date | User | Action | Args |
2025-07-07 00:00:00 | admin | create |