On 20/08/2019 01:23, Brian Bi wrote:
> Sorry, my fault for not understanding what you wrote previously. But are
> you sure this interpretation is sensible?
If you need an authority, AFAIR you may find R. Smith explaining this in the old std-discussion list.
But IMO this is clear enough, at least after you've learned it ;)
> I think it's impossible to say
> that the lifetime of an array does not end while the lifetimes of its
> elements end.
The Standard seem to know about objects whose subobjects may not be alive, like in [intro.object]/2:
> If an object is created in storage associated with a member subobject or array element e (which may or may not be within its lifetime)
Fair enough. That surprises me - I guess it was changed from C++14.
Can you link to the thread by Richard though? I'd like to read it.
It is even possible, for some types (not array types, though), to end the lifetime of a containing object without ending the lifetimes of all (or even any!) of its subobjects...
>> (I'd say it always was undefined)
> CWG thought it was well-defined in 2011.
Fortunately, they realized quickly enough that they were wrong and did not close a similar issue in 2013.
This doesn't mean CWG decided that it's supposed to be undefined. It just means they did not reach the same conclusion as they did in 2011, namely that it was obviously well-defined based on the wording then.
Std-Proposals mailing list