On Tue, 11 Aug 2009 15:47:15 -0400, Michiel Helvensteijn
<[email protected]> wrote:
Ary Borenszweig wrote:
In C# when you define a function that takes an out or ref parameter,
when invoking that function you must also specify ref or out. For
example:
void fun(ref uint x, double y);
uint a = 1;
double b = 2;
fun(ref a, b);
What do you think?
I see what you mean, however:
-----
swap(ref a, ref b);
I tend to agree with this, most of the time, your function name hints at
what is a reference and what is not.
If this is implemented, then a ref const argument should not require a ref
keyword to call (since there is no way to change it in the function).
One thing about C# is that most everything is pass-by-reference anyways,
so the ref and out, keywords are not common. However, in D I think the
tendency to lean towards value types, and indicate pass by ref for
performance means that code will get a lot uglier if this were to be
implemented. This is just a gut feeling, I haven't done a true study.
-Steve