您的位置:首页 > 编程语言 > C语言/C++

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

2019-05-02 23:58 176 查看

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

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

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

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

可以这么写:

[code]// 只进行一次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

 

 

 

 

 

 

 

 

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: