Ok, I understand that, but since I don't have a garbage
collector, what must I implement to call the destructor when it
goes out of scope?
Another way of asking the question is: How does the garbage
collector know when something has gone out of scope and is
therefore safe to collect? And where is that implemented in
the runtime?
If you want deterministic destruction, you have plenty of choices:
- scoped!
- using structs instead
- scope(exit)
- RefCounted!
- Unique!
- ...
Yet using classes for ressources is not composable. It's either:
- using classes for the convenience and deal with resource
release manually
- using structs
It's an open quesiton for me which choice is best.