[dmd-beta] rvalue references

Michel Fortin michel.fortin at michelf.com
Thu Apr 12 14:34:58 PDT 2012


Le 2012-04-12 à 17:24, Andrej Mitrovic a écrit :

> Currently you don't have to use address-of operator if you mark the
> extern(C) function as taking ref:
> 
> extern(C) void c_modify_int(ref int x) { }
> void modify_int(ref int x)
> {
>    c_modify_int(x);
> }

Even if declaring C functions with ref is allowed, it can sometime be a problem to declare C functions like that. Not only it changes the usage, but also it's not too rare to see pointer parameters like this accepting a null pointer as a way to make the parameter optional, which ref won't let you do.

-- 
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/





More information about the dmd-beta mailing list