Is there any elegant/smart solution to reference counting resources without ever freeing any objects?

When the ref hits 0 it should free some other resource that isn't memory...

Resource[10] resources;

resources[3].inc; // 1 ref - 0->1 transition enable  some feature
resources[3].dec; // 0 ref - 1->0 transition disable some feature
resources[3].inc; // 1 ref - instantly ready to be used again without any alloc/free

Maybe it's best to use normal constructor/destructor with some arena memory allocator that never actually frees anything? Must be a common problem, anyone got experience with a good design?

Reply via email to