too early for D2 and too late for D1

Peter Alexander peter.alexander.au at gmail.com
Wed May 4 12:55:50 PDT 2011


On 4/05/11 4:08 AM, Walter Bright wrote:
> For example, should I pass an object around by ref or by value? In C++,
> I've got to convert all my -> to . or vice versa, throughout the code.
> With D, I just change the alias declaration.

How do you manage to change a pass-by-value to pass-by-reference by 
changing an alias?

e.g.

struct Vec3(T) { ... }

T dot(Vec3!T a, Vec3!T b)
{
   return a.x * b.x + a.y * b.y + a.z * b.z;
}

/* lots more functions that pass Vec3 by value */


How would you change Vec3!T to be passed by reference by changing an 
alias param?


P.S.
In C++, you'd change

T dot(Vec3<T> a, Vec<T> b)

to

T dot(Vec3<T> const& a, Vec3<T> const& b)

No need to change . to ->


More information about the Digitalmars-d mailing list