课程名称:趣味c++进阶
章节名称:类的动态分布
讲师姓名:Redknot
内容概述:智能指针:在之前的课程中,使用new关键字将一个对象分配到堆上,分配到堆上的对象必须手动delete掉,否则就会造成内存泄漏的问题。我们常常因为忘记释放内存,或者释放内存的时机不对而出现问题。所以出现了智能指针。
shared_ptr
想让指针不那么孤独,我们可以使用 shared_ptr。
std::shared_ptr 与 std::unique_ptr 的主要区别在于前者是使用引用计数的智能指针。引用计数的智能指针可以跟踪引用同一个真实指针对象的智能指针实例的数目。在这种智能指针中,有一个整型变量,被称之为引用计数变量。当这个指针发生赋值到其他指针的操作的时候,说明这个智能指针指向的对象被别人“分享”了一次,则引用计数加1;而当一个智能指针被销毁,就是这个智能指针的析构函数被调用的时候,说明有一个人对其放弃了“分享”,则引用计数减1,当引用计数变成 0 的时候,说明这个对象将不被任何指针指向,这时候,就可以销毁这个对象了。
学习心得:学习了类的动态分布
学习截图: