http://wiki.dlang.org/DIP25

Tobias Pankrath via Digitalmars-d digitalmars-d at puremagic.com
Wed Dec 31 01:40:17 PST 2014


On Wednesday, 31 December 2014 at 06:04:41 UTC, ketmar via
Digitalmars-d wrote:
>   void foo (ref int a);
>   void bar (int a);
>
>   // and the following calls looks all the same T_T
>   int a;
>   foo(a);
>   bar(a);
>
> but:
>
>   void foo (int* a);
>   void bar (int a);
>
>   // wow, we don't even need to look at the signatures to find
>   // that `foo` wants a reference and that it therefore can
>   // modify `a`!
>   int a;
>   foo(&a);
>   bar(a);

To require ref at the callside was proposed long ago. Dunno if
this would
make Manu's task harder. I agree, that this might have been
better in
the long run.

> another "cosmetic issue" that bugs me alot.
>
> p.s. and with pointers it's easy to write something like this:
>
>   auto parseNumber (string s, bool* error=null);
>
> yes, i know about exceptions... which blocks `@nogc`. not yummy.

You could preallocate the exception or use an out parameter.




More information about the Digitalmars-d mailing list