class destructors and sub-objects

d coder dlang.coder at gmail.com
Thu Aug 29 06:58:11 PDT 2013


Greetings

I have a question on class destructor method. D documentation for
destructors says:

"The garbage col­lec­tor is not guar­an­teed to run the de­struc­tor for
all un­ref­er­enced ob­jects. Fur­ther­more, the order in which the garbage
col­lec­tor calls de­struc­tors for un­ref­er­ence ob­jects is not
spec­i­fied. This means that when the garbage col­lec­tor calls a
de­struc­tor for an ob­ject of a class that has mem­bers that are
ref­er­ences to garbage col­lected ob­jects, those ref­er­ences may no
longer be valid. This means that de­struc­tors can­not ref­er­ence sub
ob­jects."


Now I have a class A and it refers to subobject B. But B may or may not
have other objects referring to it. As a result, an object of A is GCed,
but subobject B may or may not be getting garbage collected.

In this scenario, am I allowed to make a reference to subobject B from the
destructor of A? Is there a way to find out if B is garbage collected or
not?

Regards
- Puneet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-learn/attachments/20130829/471c8f09/attachment.html>


More information about the Digitalmars-d-learn mailing list