Calls `this(this)` extra with delegate stuff in the code
Ali Çehreli via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Jan 21 15:19:57 PST 2017
Simplified:
import std.stdio;
struct Widget {
private int[] array;
this(uint length) {
array = new int[length];
writefln("ctor called : %s", array.ptr);
}
this(this) {
writef( "this(this) called: %s", array.ptr );
array = array.dup;
writefln(" -> %s", array.ptr);
}
}
void main() {
auto w1 = Widget(10);
writeln(w1);
}
It's due to the copies that are made when calling writeln and other
functions that it calls.
Ali
More information about the Digitalmars-d-learn
mailing list