31 Aug
2013
31 Aug
'13
4:44 a.m.
There's no one correct destruction order for objects participating in a cycle. That's one reason most C++ garbage collectors collect memory but don't run destructors. How does your system deal with this?
I can think of another reason: The whole point of garbage collection is to simulate unbounded memory by recycling memory that is no longer reachable. If you run destructors on objects that are collect as garbage, the simulation is no longer a simulation.