On Saturday, 11 January 2014 at 20:38:33 UTC, Abdulhaq wrote:
On Saturday, 11 January 2014 at 20:17:14 UTC, Tobias Pankrath wrote:

class X {};
X x;

x is an reference to an instance of X, with other words a pointer without arithmetic but with syntax sugar. &x will take the address of this pointer/reference. If you want the address of the actual instance, you can use cast(void*) for example.

Hi Tobias, can casting the address to void* make a difference to its value?


No, try this:
import std.stdio;
class X {}
void foo(X x) { writeln(cast(void*) x); }

void main() {
         X x; // null reference by default.
         writeln(cast(void*) x);
         foo(x);

         x = new X;
         writeln(cast(void*) x);
         foo(x);
}

Reply via email to