应该/可以正常使用智能指针
Should/can smart pointers normally be used?
可能重复:
什么是智能指针?我什么时候应该使用智能指针?
我最近读过关于智能指针的文章,比如shared_ptr
或auto_ptr
。比起普通的指针,更喜欢它们是好的还是坏的做法?
例如,我应该在函数的参数中使用它们,还是在将指针存储为类的成员时使用它们?
它们是个好主意。它们比普通指针慢。但是,在不了解整个指针生命周期的情况下,或者为了安全起见,最好使用智能指针
对于函数的参数,如果函数存储指针或导致其删除,则最好使用智能指针。否则,普通指针也不错。
相关文章:
- 对于C++中使用智能指针的指针算术限制,有没有一种变通方法
- 尝试使用智能指针时引发异常
- OpenCV 我应该使用智能指针来防止内存泄漏吗?
- 使用智能指针附加的继承对象的深层复制
- 如果只有 std::auto_ptr 可用,我是否仍应该使用智能指针?
- 是否可以使用智能指针成员设置具有另一个结构的结构?
- 使用智能指针指向 C 库中的结构,该结构通过 typedef 隐藏实现(即不完整的类型)
- 使用智能指针读取访问冲突
- 如何使用智能指针对象执行成员函数指针
- 使用C++智能指针使用父指针构建树
- 使用智能指针属性创建资源库函数?
- 如何使用智能指针在二维上声明数组?
- 在派生类构造函数中使用智能指针
- 使用智能指针
- 为什么我不能使用智能指针来创建新的 QLineEdit 类
- 由于删除对象而导致的 Cpp 代码主线程冻结可以使用智能指针解决,也可以不使用智能指针来解决
- 通过使用智能指针阅读访问违规行为
- C++11使用智能指针,但得到无效指针
- 使用智能指针的双链接列表
- 从构造函数调用类函数或使用智能指针