Obsecure problem 2

pascal111 judas.the.messiah.111 at gmail.com
Thu Aug 4 12:02:18 UTC 2022


On Wednesday, 3 August 2022 at 21:35:29 UTC, Ruby The Roobster 
wrote:
> On Wednesday, 3 August 2022 at 19:11:51 UTC, pascal111 wrote:
>> [...]
>
> No need for a code.  See, there is a keyword called `ref`, that 
> can be used both in function parameters and in foreach loops, 
> and it is the equivalent of a pointer to the type specified, 
> but it is automatically dereferenced. As arrays are themselves 
> reference types, you don't need to change the parameter from 
> `Range range` to `ref Range range`.
>
> On the other hand, `int` in it of itself isn't a reference 
> type, meaning that to modify the actual value, you need to 
> change the foreach loop to be:
>
> ```d
> foreach(ref x; range)
>     x = notfunny(x);
> ```
>
> Proof:  I tested it, and it works.

It works!


More information about the Digitalmars-d-learn mailing list