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