条款-17 以独立语句将 newed对象置入智能指针
p.s.智能指针通过析构函数释放有它管理的堆内存。
Remember:
1-以独立语句将 newed 对象存储于(置入)智能指针内。
如果不这样做,一旦异常被抛出,有可能导致难以察觉的资源泄露。
使用分离语句能够有效避免错误:
//写成下面这样比较好。(其中 A是类, fun1是函数)
std::tr1::shared_ptr<A> pw(new A);
pA(pw, fun1());
//而不是
pA(std::tr1::shared_ptr<A>(new A), fun1());