returning struct, destructor
Eugene Wissner via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Dec 21 07:01:20 PST 2016
On Wednesday, 21 December 2016 at 14:15:06 UTC, John C wrote:
> On Wednesday, 21 December 2016 at 11:45:18 UTC, Eugene Wissner
> wrote:
>> This prints 3 times "Destruct" with dmd 0.072.1. If I remove
>> the if block, it prints "Destruct" only 2 times - the behavior
>> I'm expecting. Why?
>
> Possibly to do with named return value optimisation.
Isn't an optimization that changes the behavior bad? I had a
crash in the code where the destructor did something meaningfull,
freed the memory (the same pointer) twice.
More information about the Digitalmars-d-learn
mailing list