C+;是否有垃圾收集类+; 是否有一个类为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()); ... } A类:公共垃圾收集 { 无效杀死() { 垃圾已收集。设置清除标志(); } ... 私人: 垃圾收集指针b_pointer;//不知怎么我们跟着 垃圾收集指针b_指针2;//这些指针。 }; B类 { ... }; 垃圾箱 { ... }; int main() { 垃圾箱gc; gc.add(新的A()); ... }

C+;是否有垃圾收集类+; 是否有一个类为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()); ... } A类:公共垃圾收集 { 无效杀死() { 垃圾已收集。设置清除标志(); } ... 私人: 垃圾收集指针b_pointer;//不知怎么我们跟着 垃圾收集指针b_指针2;//这些指针。 }; B类 { ... }; 垃圾箱 { ... }; int main() { 垃圾箱gc; gc.add(新的A()); ... },c++,garbage-collection,c++11,C++,Garbage Collection,C++11,其想法是,GarbageContainer将在对象上进行标记和扫描,或者使用其他一些垃圾收集方法。这将节省进行引用计数和使用弱ptr的时间,垃圾收集可以仅用于认为必要的对象 有没有实现类似功能的库?查找Boehm的垃圾收集器。我认为它没有现成的多个GC容器,但如果您确实需要,您可以自己添加此功能。对于C/C++中的垃圾收集库来说是一个不错的选择。C++0x支持使用引用计数跟踪内存分配的共享\u ptr。如果小心使用,它可以作为一个很好的垃圾收集器 当没有引用内存块的对象(引用计数已达到0)时,共

其想法是,
GarbageContainer
将在对象上进行标记和扫描,或者使用其他一些垃圾收集方法。这将节省进行引用计数和使用弱ptr的时间,垃圾收集可以仅用于认为必要的对象


有没有实现类似功能的库?

查找Boehm的垃圾收集器。我认为它没有现成的多个GC容器,但如果您确实需要,您可以自己添加此功能。

对于C/C++中的垃圾收集库来说是一个不错的选择。

C++0x支持使用引用计数跟踪内存分配的共享\u ptr。如果小心使用,它可以作为一个很好的垃圾收集器

当没有引用内存块的对象(引用计数已达到0)时,共享\u ptr解除分配内存

  • 这应该让你开始
  • 这是一个

感谢您提供的链接,我们已经寻找了一段时间了:)在SO上有许多可用解决方案的比较。在去那里之前,停下来想想您为什么需要它。每当有人想要C++中的GC时,他们的设计就错了。”吉恩:你应该告诉Hans Boehm和Bjarne Stroustrup。他们都希望把标记/扫描风格GC加入C++中。我喜欢思考<代码>智能指针<代码> >代码>精细粒度确定性垃圾收集器< /C> > Steve Jessop:我想我理解他们的动机,我不同意他们的观点。已经有适合需要GC的人的语言。在C++中,我认为应该致力于加强价值语义,而不是试图覆盖指针语义的地雷。你的链接似乎过时了。现在断断续续的链接的网络档案中的最新快照:这也是一个保守的收集器,就像Boehm的垃圾收集器。