深入学习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
相关文章推荐
- 智能指针auto_prt的使用(c++学习笔记)
- 智能指针auto_prt的使用(c++学习笔记)
- 改善C++ 程序的150个建议学习之建议34:用智能指针管理通过new创建的对象
- C++学习 C++中智能指针的设计和使用
- 智能指针auto_prt的使用(c++学习笔记)
- C++:智能指针-TR1的shared_ptr和weak_ptr使用介绍
- C++:智能指针-TR1的shared_ptr和weak_ptr使用介绍
- C++中智能指针的设计和使用
- 有效的使用和设计COM智能指针——条款20:安全的覆盖掉C++默默为我们编写的函数
- C++中智能指针的设计和使用
- c++智能指针使用笔记
- C++中智能指针的设计和使用
- 理解和使用C++中的智能指针
- C++中智能指针的设计和使用
- 改善C++ 程序的150个建议学习之建议12:优先使用前缀操作符
- c++智能指针的设计和使用
- 【C++深入浅出】智能指针之auto_ptr学习
- C++中智能指针的设计和使用
- C++智能指针的设计和使用
- c++ shared_ptr智能指针使用注意事项