On Wednesday, 12 July 2017 at 11:18:08 UTC, Biotronic wrote:
On Wednesday, 12 July 2017 at 11:00:54 UTC, Jiyan wrote:
[...]
The traditional solution is static opCall:
struct A {
int field;
static A opCall() {
A result;
result.field = getDataFromFile("file.txt");
return result;
}
}
A instance = A();
I believe I've heard this is frowned upon these days, but I
don't know of a better solution.
For optimal speed you might also want to skip default
initialization of result, by writing A result = void;.
I would be surprised if the optimizer wasn't able to optimize
away the useless parameter though - have you looked at the
generated assembly?
--
Biotronic
Hey,
yes i did but to be honest i used dmd in debug version.
The thing about the static one, is that it creates a local object
A isnt that a performance issue itself - or am i wrong - im
confused actually :P?