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.

Reply via email to