Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::weak_ptr::reset(3)	      C++ Standard Libary      std::weak_ptr::reset(3)

NAME
       std::weak_ptr::reset - std::weak_ptr::reset

Synopsis
	  void reset() noexcept;  (since C++11)

	  Releases  the	 reference to the managed object. After	the call *this
       manages no
	  object.

Parameters
	  (none)

Return value
	  (none)

Example
       // Run this code

	#include <memory>
	#include <iostream>

	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(): 3
	weak.use_count(): 3
	weak.expired():	false
	weak.reset();
	shared.use_count(): 3
	weak.use_count(): 0
	weak.expired():	true

See also
	  expired checks whether the referenced	object was already deleted
		  (public member function)

http://cppreference.com		  2022.07.31	       std::weak_ptr::reset(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::weak_ptr::reset&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help