智能指针的分类
shared_ptr、unique_ptr、auto_ptr(禁用)
智能指针如何调用
shared_ptr
- using ptrObject = std::unique_ptr< Object >;
unique_ptr
- using ptrObject = std::shared_ptr< Object >;
c++智能指针shared_ptr跟unique_ptr针对析构函数调用区别
shared_ptr
- 无论基类的析构函数是否虚化,释放对象时基类跟子类的析构函数都会调用.
unique_ptr
- 基类析构函数虚化,释放对象时基类跟子类的析构函数都会调用.
- 基类析构函数未虚化,释放对象时只会调用基类的析构函数,子类析构函数不会被调用.