【发布时间】:2012-07-14 02:39:33
【问题描述】:
我最近阅读了有关智能指针的文章,例如 shared_ptr 或 auto_ptr。比普通指针更喜欢它们是好还是坏?
例如我应该在函数的参数中使用它们还是在将指针存储为类的成员时使用它们?
【问题讨论】:
-
最近阅读过它们? Scott Meyer 早在 1995 年就写过关于他们的文章,因此他们经受住了时间的考验。
标签: c++ smart-pointers
我最近阅读了有关智能指针的文章,例如 shared_ptr 或 auto_ptr。比普通指针更喜欢它们是好还是坏?
例如我应该在函数的参数中使用它们还是在将指针存储为类的成员时使用它们?
【问题讨论】:
标签: c++ smart-pointers
他们是个好主意。它们比普通指针慢。但是,在不了解整个指针生命周期或只是为了安全起见,最好使用智能指针。
对于函数的参数,如果函数要么存储指针,要么导致删除,最好使用智能指针。否则普通指针也不错。
【讨论】:
shared_ptr 确实添加了操作,但 unique_ptr(或者 auto_ptr,如果你过去被卡住了)没有原始指针的开销。