|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Modifiers | ||||
weak_ptr::reset | ||||
| Observers | ||||
(C++26) | ||||
(C++26) | ||||
| Non-member functions | ||||
| Helper classes | ||||
(C++20) | ||||
| Deduction guides(C++17) |
void reset()noexcept; | (since C++11) | |
Releases the reference to the managed object. After the call*this manages no object.
Contents |
(none)
(none)
#include <iostream>#include <memory> int main(){auto shared=std::make_shared<int>(), shared2= shared, shared3= shared2; auto weak=std::weak_ptr<int>{shared}; std::cout<<std::boolalpha<<"shared.use_count(): "<< shared.use_count()<<'\n'<<"weak.use_count(): "<< weak.use_count()<<'\n'<<"weak.expired(): "<< weak.expired()<<'\n'; weak.reset(); std::cout<<"weak.reset();\n"<<"shared.use_count(): "<< shared.use_count()<<'\n'<<"weak.use_count(): "<< weak.use_count()<<'\n'<<"weak.expired(): "<< weak.expired()<<'\n';}
Output:
shared.use_count(): 3weak.use_count(): 3weak.expired(): falseweak.reset();shared.use_count(): 3weak.use_count(): 0weak.expired(): true
| checks whether the referenced object was already deleted (public member function)[edit] |