使用get()指向unique_ptr的弱指针

时间:2013-05-13 13:53:47

标签: c++

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

2 个答案:

答案 0 :(得分:2)

正确。如果你有一个常规指针,这是get()返回的指针,那么你有责任确保你只在对象的生命周期内取消引用它。

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

答案 1 :(得分:0)

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