2 ms·
But do we need the lifetime of b to be started? Isn't it enough that a1's lifetime is started? Taking of address of a1 happens after that. [0] Upd: There is a
by drysine 2y ago
But do we need the lifetime of b to be started? Isn't it enough that a1's lifetime is started? Taking of address of a1 happens after that. [0]
Upd:
There is an interesting sentence in [class.cdtor] but I don't think it applies here because B has no constructors:
"For an object with a non-trivial constructor, referring to any non-static member or base class of the object before the constructor begins execution results in undefined behavior."[1]
[0] https://eel.is/c++draft/dcl.init.aggr#7 https://eel.is/c++draft/dcl.init.aggr#7
[1] https://eel.is/c++draft/class.cdtor#1 https://eel.is/c++draft/class.cdtor#1