C++ Logo

std-proposals

Advanced search

Re: [std-proposals] Relocation in C++

From: Edward Catmur <ecatmur_at_[hidden]>
Date: Thu, 22 Dec 2022 11:59:44 +0100
On Thu, 22 Dec 2022 at 11:53, Sebastian Wittmeier via Std-Proposals <
std-proposals_at_[hidden]> 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.
>
>

Received on 2022-12-22 10:59:57