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

Weak pointer to unique_ptr using get()

本文关键字:ptr 指针 unique get 指向 使用      更新时间:2023-10-16

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

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

它不像一个弱指针。悬空弱指针知道是悬空指针。普通指针不知道

是的,因为get()只会给你一个关于这个指针的引用,而不会授予你这个指针的所有权。因此,如果指针被删除,"get"资源将无法访问,而你的"get"指针将不必被删除。