Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
简单的问题,只是想澄清一下,使用get()on就像得到一个弱指针,因为它没有责任,并且在被删除unique_ptr时可能会悬空。unique_ptr
get()
unique_ptr
正确的。如果您有一个get()返回的常规指针,则您有责任确保仅在对象的生命周期内取消引用它。
虽然它并不像一个弱指针。一个悬空的弱指针知道它是悬空的。常规指针不知道。
是的,因为 get() 只会向您发送对此指针的引用,并且不会授予您对该指针的所有权。因此,如果指针被删除,“获取”资源将无法访问,并且您的“获取”指针不必被删除。