深入学习c++--智能指针(四)--使用建议

1. 不要自己手动管理资源

2. 一个裸指针不要用两个shared_ptr管理,unique_ptr

3. 使用shared_ptr作为函数的接口,如果有可能用 const shared_ptr&的形式

4. shared_ptr weak_ptr和裸指针相比,会大很多,并且效率上会有影响,尤其在多线程模式下。时间也上也是

可以这么写:

// 只进行一次new, 至少可以节省8字节
ObjectPtr obj5 = std::make_shared<Object>(3);

5. enable_shared_from_this,shared_from_this()和构造析构函数一样,某些情况下不能使用。

6. 某些情况下,会出现内存不会降的问题。尤其是使用weak_ptr来处理循环引用的问题

7. 如果有可能,优先使用类的实例,其次万不得已使用std::unique_ptr,万不得已使用std::shared_ptr

 

 

 

 

 

 

 

 

 

扫描二维码关注公众号,回复: 6100024 查看本文章

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/douzujun/p/10803947.html