home | help
std::shared...operatorbool(3)  C++ Standard Libary std::shared...operatorbool(3)

NAME
     std::shared_ptr::operatorbool - std::shared_ptr::operatorbool

Synopsis
	explicit operator bool() const noexcept;

	Checks	if  *this  stores  a  non-null	pointer,  i.e.	whether get() !=
     nullptr.

Parameters
	(none)

Return value
	true if *this stores a pointer, false otherwise.

Notes
	An empty shared_ptr (where  use_count()  ==  0)  may  store  a	non-null
     pointer accessible
	by get(), e.g. if it were created using the aliasing constructor.

Example
     // Run this code

      #include <iostream>
      #include <memory>

      void report(std::shared_ptr<int> ptr)
      {
	  if (ptr)
	      std::cout << "*ptr=" << *ptr << "\n";
	  else
	      std::cout << "ptr is not a valid pointer.\n";
      }

      int main()
      {
	  std::shared_ptr<int> ptr;
	  report(ptr);

	  ptr = std::make_shared<int>(7);
	  report(ptr);
      }

Output:
      ptr is not a valid pointer.
      *ptr=7

See also
	get returns the stored pointer
	    (public member function)

http://cppreference.com 	   2024.06.10	   std::shared...operatorbool(3)

home | help