有没有一个为C++进行垃圾回收的类?我在考虑这样一个东西:
class A : public GarbageCollected<A>
{
void kill()
{
GarbageCollected<A>.set_cleanup_flag();
}
...
private:
GarbageCollectedPointer<B> b_pointer; // Somehow we follow
GarbageCollectedPointer<B> b_pointer2; // these pointers.
};
class B
{
...
};
class GarbageContainer
{
...
};
int main()
{
GarbageContainer gc;
gc.add(new A());
...
}
这个想法是GarbageContainer
会对对象进行标记和清除或者其他垃圾回收方法。这样就不需要进行引用计数和使用弱指针,只需在需要的情况下使用垃圾回收。
是否有任何库实现了类似于这样的功能?