【发布时间】:2010-12-29 12:20:54
【问题描述】:
我有一个项目,我希望更好地使用智能指针。
主要思想是在从函数返回新对象时使用它们。问题是使用什么智能指针? auto_ptr 或 shared_ptr 来自 boost?据我所知,auto_ptr 速度较慢,但它可以回退到“纯”指针。
如果我在不需要的地方使用智能指针,会不会降低性能?
【问题讨论】:
-
不要根据感知效率来选择智能指针(因为人类在感知效率方面绝对是糟糕透顶,而且正如所证明的那样,通常会出错)。选择演示您希望如何使用指针的智能指针。如果您正在转移所有权 auto_ptr 很好,如果您正在创建一个隐式共享对象,那么 shared_ptr 更好。
标签: c++ pointers boost smart-pointers