Re: Confused about referencing in D

2016-07-14 Thread Adam D. Ruppe via Digitalmars-d-learn
On Thursday, 14 July 2016 at 06:23:15 UTC, Gorge Jingale wrote: I think that the assignment in the first case is not assigning the reference returned by auto ref GetValue(). `ref` in D is shallow, it only applies to the thing it is specifically on and is lost across assignments. Once you assi

Re: Confused about referencing in D

2016-07-14 Thread kink via Digitalmars-d-learn
On Thursday, 14 July 2016 at 06:23:15 UTC, Gorge Jingale wrote: I think that the assignment in the first case is not assigning the reference returned by auto ref GetValue(). Yep. There's no such thing as C++ `auto& val = GetValue()` in D. You'd have to use a pointer instead: `auto pVal = &GetV

Re: Confused about referencing in D

2016-07-13 Thread rikki cattermole via Digitalmars-d-learn
On 14/07/2016 6:23 PM, Gorge Jingale wrote: I'm pretty confused why the following code doesn't work as expected. GetValue is a struct. auto value = GetValue(); memcpy(&value, &val, Val.sizeof); But if I plug in value direct to memset it works!! memcpy(&GetValue(), &val, Val.sizeof); Ge

Confused about referencing in D

2016-07-13 Thread Gorge Jingale via Digitalmars-d-learn
I'm pretty confused why the following code doesn't work as expected. GetValue is a struct. auto value = GetValue(); memcpy(&value, &val, Val.sizeof); But if I plug in value direct to memset it works!! memcpy(&GetValue(), &val, Val.sizeof); GetValue returns memory to stick a value in an