shared_ptr reset 返回
时间: 2023-10-10 09:11:25 浏览: 173
shared_ptr
shared_ptr 的 reset 函数用于将一个 shared_ptr 对象重置为 nullptr 或者指向另一个对象。它有两个重载形式:
1. `void reset()`: 将 shared_ptr 对象重置为 nullptr,释放它所持有的对象的所有权。
2. `void reset(T* ptr)`: 将 shared_ptr 对象重置为指向 ptr 所指向的对象,释放它原来所持有的对象的所有权。
在第二种情况下,如果传入的指针是一个空指针,则将 shared_ptr 对象重置为 nullptr。reset 函数返回 void,因此不能通过 reset 函数来获取 shared_ptr 对象的引用或指针。
阅读全文