码迷,mamicode.com
首页 > 编程语言 > 详细

c++趣味之shared_ptr额外好处

时间:2017-09-01 11:54:41      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:class   new   析构   没有   基类   执行   删除   obj   好处   

shared_ptr(sp)额外好处是什么?即使被转为基类,析构函数也可以正常执行。

 

已知两个类

class foo{};

class bar:foo{public:~bar(){}};

 

先来看不用sp的情况。

bar* obj = new bar();

delete obj;

这样foo没有虚析构函数,删除foo对象时是不会调用到bar对象的析构函数的。

 

如果用sp,就可以正常析构了。

sp<foo> obj = make_shared<bar>();

c++趣味之shared_ptr额外好处

标签:class   new   析构   没有   基类   执行   删除   obj   好处   

原文地址:http://www.cnblogs.com/fyter/p/cpp_shared_ptr.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!