On Monday, 16 August 2021 at 19:30:19 UTC, JG wrote:
On Sunday, 15 August 2021 at 21:53:14 UTC, Carl Sturtivant wrote:
On Sunday, 15 August 2021 at 07:10:17 UTC, JG wrote:
[...]

What you are asking for are reference variables. C++ has them: the example here illustrates the behavior you want.
https://www.geeksforgeeks.org/references-in-c/

[...]

Thanks for the links and code. Looking at the assembly as suggested by others it seems that after optimization this not too bad.

The problem is not optimization. The semantics of the code are different when you use the `Ref!int` solution versus simply `int`. You'll see this in template instantiations, as in the `writeln` example.

`writeln` is a template and `writeln!int` is something different from `writeln!(Ref!int)`. When you force the template instantiation to `writeln!int` -- e.g. with an explicit cast, https://d.godbolt.org/z/6fKbMh731 -- the `Ref!int` output is the same as with `int`.

Regardless, I haven't seen a performance measurement, and it is most likely completely irrelevant for the performance of your program.

-Johan



Reply via email to