Destructing Struct

Jiyan jiyan at jiyan.info
Wed Feb 21 11:24:41 UTC 2018


On Wednesday, 21 February 2018 at 11:12:01 UTC, Jiyan wrote:
> Hi :),
>
> What i thought was that when i create a struct dynamically i 
> can just deconstruct it with __dtor lets say:
>
> struct U {...}
> struct S {... private U _member;}
>
> S* p;
> p = cast(S*)malloc(S.sizeof);
>
> // just run that if it compiles, for simplicity
> // we dont use __traits(compiles, ...)
> p.__dtor;
>
> The thing here is that this doesn't work because of when S has 
> an element that that is private and has a __dtor itself, the 
> __dtor from U doesnt get called before the call of __dtor from 
> S - or after.
>
> Is there any way with traits or sth to do that?
>
> Are delete, destroy or any other functions the standard library 
> working here?
> I would prefer a solution that can be build by myself - so 
> without the standard library for example with traits.
>
> Thanks :)

I think i found my solution: is it __xdtor? :P


More information about the Digitalmars-d-learn mailing list