随笔分类 -  TR1

摘要:理解weak_ptr 的2个关键点: 1. 认为它和一般指针没有区别。 2. 没有删除它能访问的动态分配的空间的能力。 weak_ptr是对shared_ptr的一个访问者,weak_ptr不参与shared_ptr的引用计数,也不会删除所指向的对象。同时,当对象被shared_ptr删除后,weak_ptr就是无效的了。 使用weak_ptr,而不使用T*这样的c++指针的原因是:weak_... 阅读全文
posted @ 2008-09-01 23:29 能巴 阅读(531) 评论(0) 推荐(0)
摘要:基本上,主要就是: 1. Shared_ptr instead of new ,, very good replacement. 2. Regex 阅读全文
posted @ 2008-09-01 22:55 能巴 阅读(227) 评论(0) 推荐(0)
摘要:Things to Remember:在一个独立的语句中将 new 出来的对象存入智能指针。如果疏忽了这一点,当异常发生时,可能引起微妙的资源泄漏。 下面这个函数调用还是可能泄漏资源。为什么? processWidget(std::tr1::shared_ptr(new Widget), priority()); ... 阅读全文
posted @ 2008-07-01 01:31 能巴 阅读(341) 评论(0) 推荐(0)
摘要:1. STL的auto_ptr 缺点: 1)一个对象只能被一个auto_ptr所拥有,即所有权转移问题。 2)因此,它不能用在STL的container中,所以,非常不实用。 2. Boost的shared_ptr TR1中的std::tr1::shared_ptr就够了(#include ,use std :: tr1 :: shared_ptr using the VS2008 featur... 阅读全文
posted @ 2008-07-01 01:27 能巴 阅读(390) 评论(0) 推荐(0)
摘要:vs2008下安装boost 1.下载boost_1_34_1压缩文件,解压缩到d:\boost_1_34_1\目录下 2.编译bjam 从vs2008的工具菜单进入命令提示窗口"Visual Studio 2008 Command Prompt"(一定要从这进),cd到c:\boost_1_34_1\tools\jam\src下执行build.bat,会在c:\boos... 阅读全文
posted @ 2008-07-01 00:50 能巴 阅读(1070) 评论(0) 推荐(0)