If the destructor is called on the reference, the original object would be destroyed.
-----Ursprüngliche Nachricht-----
Von: Edward Catmur <ecatmur@googlemail.com>
Gesendet: Do 22.12.2022 12:00
Betreff: Re: [std-proposals] Relocation in C++
An: std-proposals@lists.isocpp.org;
CC: Sebastian Wittmeier <wittmeier@projectalpha.org>;
On Thu, 22 Dec 2022 at 11:53, Sebastian Wittmeier via Std-Proposals <std-proposals@lists.isocpp.org> wrote:`reloc localvar` or `reloc param` are a solution to 'undefine' variable or parameter names within scope or function boundaries.
The same would not be possible for reference names only:
MyType a{};
MyType& b = a;
reloc b;
Would destroy and 'undefine' b, accessing a afterwards would be UB. Right?
No, that will end the lifetime of the reference. `a` will be unaffected.There would be no simple/analog way to only undefine b, but keep a intact. That is just how references are working.
OTOH, `reloc a` gives a way to undefine a variable and it would be nice to do the same for a reference.