首页 > 代码库 > 读书笔记
读书笔记
可能延长对象的生命期:
shared_ptr是强引用,只要有一个指向x对象的shared_ptr存在,该对象就不会析构。
比如java的观察者模式中如果主题没有主动去unrigister一个observer,那么那个observer永远不会被释放。
比如boost::bind会把实参拷贝一份,样例代码如下:
class Foo{void doit();};
shared_ptr<Foo> pFoo(new Foo);
boost::function<void()> func = boost::bind(&Foo::doit, pFoo);
这里的func对象就持有一份shared_ptr<Foo>的拷贝,可能延长倒数第二行创建的对象的生命期。
析构动作在创建时被捕获,这意味着:
虚析构函数不是必需的了;
shared_ptr<void>可以持有任何对象,而且能安全释放;
读书笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。