More radical ideas about gc and reference counting
ed via Digitalmars-d
digitalmars-d at puremagic.com
Thu May 1 22:44:42 PDT 2014
On Thursday, 1 May 2014 at 22:18:59 UTC, H. S. Teoh via
Digitalmars-d wrote:
[snip]
>
> 6) Since class dtors were the only thing that cleaned up the
> struct
> member variables by invoking their dtors, that means the struct
> dtor
> will *never* get invoked.
[snip]
I might be mistaken but isn't it the case now that class dtors
may never get invoked by the GC anyway? In which case having
class dtors is pointless because one cannot rely on them.
But dtors for structs I thought would still be useful. The dtor
might not be called by the class dtor as it no longer exists, but
it is called if I reassign the struct member by value.
C c = new C();
// some code
auto s = SomeStruct(/*with some parms*/);
c.setStruct(s); // the existing c.struct dtor will be called,
releasing whatever resources it needs
Cheers,
ed
More information about the Digitalmars-d
mailing list