摘要: 转自http://blog.csdn.net/hongjiqin/article/details/4406805 boost库中的shared_ptr是个好东西,一度我认为可以像C#那样使用对象,完全不用考虑内存的释放问题。不过使用起来发现还是有许多要注意的地方。 首先,绝对不可以像这样使用:int *p = new int (10);boost::shared_ptr<int> sp1 (p);boost::shared_ptr<int> sp2 (p); 这个看上去很简单,一般都不会这样犯错误。但如果在一个复杂的场景中呢?比如这样:class CListener{p 阅读全文
posted @ 2013-02-25 17:27 桂皮猪 阅读(850) 评论(0) 推荐(0) 编辑
摘要: 转自http://blog.csdn.net/xt_xiaotian/article/details/5714477一、简介由于C++语言没有自动内存回收机制,程序员每次new出来的内存都要手动delete。程序员忘记delete,流程太复杂,最终导致没有delete,异常导致程序过早退出,没有执行delete的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::shared_ptr、boost::scoped_array、boost::shared_array、boost::we 阅读全文
posted @ 2013-02-25 17:19 桂皮猪 阅读(266) 评论(0) 推荐(0) 编辑