【发布时间】:2010-08-15 11:47:14
【问题描述】:
我的代码始终使用原始指针。
它需要调用一个将原始指针放入 shared_ptr 的方法。 这个方法不在我的控制之下,属于外部api。 我不能只将指针传递给 shared_ptr 因为它将被删除 当 shared_ptr 超出方法的范围时(当方法返回时)。
除了在内部代码中将原始指针设为 shared_ptr 之外,我还有其他选择吗?
【问题讨论】:
-
为什么你的代码始终使用原始指针?
-
这不是我的代码。它是我现在拥有/维护的公司代码。在整个过程中移动指向 shared_ptrs 的指针是一个值得的目标吗?意见?
-
@user:取决于你的情况。如果您可以使代码更安全、更快、更简洁,并且有时间去做,那么您应该修复所有代码。但有时你只需要使用你所拥有的东西,并从那里改进它。换句话说,专注于你需要完成的事情,以及当你有时间修复和升级旧的、损坏的代码时。 (当然,除非你不能继续因为代码被原始指针破坏,然后显然修复它。)
标签: c++ shared-ptr