When I assign an object in D, will it be copied?
void main() {
auto test = new Test(new Object());
tset.obj;
}
class Test {
public Object obj;
public this(Object ref origObj) {
obj = origObj; // Will this copy origObj into obj, or will origObj and obj point to the same data? (Is this a valid way to pass ownership without copying the object?)
}
}
Only the reference is copied, the object itself isn't duplicated. You can explicitly duplicate the object by using .dup
though.