共享指针(例如boost :: shared_ptr或新的std :: shared_ptr)和垃圾收集方法(例如在Java或C#中实现的方法)之间有什么区别?我理解它的方式是,共享指针记录变量指向资源的次数,并在计数达到零时自动破坏资源。然而,我的理解是垃圾收集器也管理内存资源,但需要额外的资源来确定对象是否仍然被引用,并且不一定会立即破坏资源。垃圾收集与共享指针
我在我的假设中是否正确,并且在使用垃圾收集器和共享指针之间还有其他区别吗?另外,为什么有人会使用垃圾收集器来处理共享指针,如果他们执行类似的任务,但具有不同的性能数据?
使用共享指针**是一种垃圾收集技术。至少作为第一步,许多垃圾收集器实施引用计数。 – 2011-01-11 22:29:25