rvalue references
bitwise via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jun 9 07:41:57 PDT 2015
On Tue, 09 Jun 2015 07:04:36 -0400, Stewart Gordon <smjg_1998 at yahoo.com>
wrote:
> Apologies if I've missed something - I haven't had much time to keep up
> with the discussions lately.
>
> What is the use case for rvalue references in a garbage-collected
> language?
>
> To me, it sounds like people want this feature for D purely because C++
> has it.
>
> Stewart.
>
If you have a function that takes a huge struct, like, as Namespace says,
containing a float[16], you would want to pass by reference.
Currently, given the following code,
struct Mat4 {
float elements[16];
}
void TakeMatrix(ref Mat4 m) { }
Then you must use it like this:
Mat4 tmp = Mat4();
TakeMatrix(tmp);
With r-value references(auto ref), you can do the following, and 'tmp'
will be 'auto'matically created for you:
TakeMatrix(Mat4());
Bit
More information about the Digitalmars-d
mailing list