绪
本篇是尝试对C++11的三种智能指针(unique_ptr, shared_ptr, weak_ptr)进行的复现结果, 智能指针的复现在面试中经常考到, 需要好好熟悉...., 所以当需要使用更大的生命周期时还是应该考虑手动管理或者在更大的作用域中使用智能指针
智能指针与垃圾回收的区别
相关讨论: RAII vs....v=JfmTagWcqoE
智能指针的回收通常指的是RAII(资源获取即初始化). 智能指针所采用的引用计数法属于一种垃圾回收技术
智能指针和完整的垃圾回收器旨在解决不同的问题....智能指针的额外开销很小
垃圾回收器由于使用标记和清理手法因此可以很好地处理循环引用的问题, 智能指针如果仅仅使用引用计数的话难以处理. weak_ptr也只是优化了这个问题, 需要程序员进行深入的控制...智能指针则完全由程序员控制
垃圾回收器对于资源的释放有时候有优化, 例如将大批需要释放的资源集中起来一起释放, 这可以提高回收的效率, 智能指针大多只能逐个释放.