2

简单的问题,只是想澄清一下,使用get()on就像得到一个弱指针,因为它没有责任,并且在被删除unique_ptr时可能会悬空。unique_ptr

4

2 回答 2

2

正确的。如果您有一个get()返回的常规指针,则您有责任确保仅在对象的生命周期内取消引用它。

虽然它并不像一个弱指针。一个悬空的弱指针知道它是悬空的。常规指针不知道。

于 2013-05-13T13:56:21.493 回答
0

是的,因为 get() 只会向您发送对此指针的引用,并且不会授予您对该指针的所有权。因此,如果指针被删除,“获取”资源将无法访问,并且您的“获取”指针不必被删除。

于 2013-05-13T14:00:02.533 回答