Search code examples
dpass-by-valuepass-by-pointer

Does D pass value by copy?


if I do:

myclass a = new myclass();
myclass b = a;

Does b points to or is a copy of a?


Solution

  • Classes in D use reference semantics so b points to the same object as a. structs, on the other hand, use value semantics so...

    auto a = mystruct();
    auto b = a;
    

    ...would refer to distinct objects.