std::unique_ptr<T,Deleter>::operatorbool (3) - Linux Manuals

std::unique_ptr<T,Deleter>::operatorbool: std::unique_ptr<T,Deleter>::operatorbool

NAME

std::unique_ptr<T,Deleter>::operatorbool - std::unique_ptr<T,Deleter>::operatorbool

Synopsis


explicit operator bool() const noexcept; (since C++11)


Checks whether *this owns an object, i.e. whether get() != nullptr.

Parameters


(none)

Return value


true if *this owns an object, false otherwise.

Example


// Run this code


  #include <iostream>
  #include <memory>


  int main()
  {
      std::unique_ptr<int> ptr(new int(42));


      if (ptr) std::cout << "before reset, ptr is: " << *ptr << '\n';
      ptr.reset();
      if (ptr) std::cout << "after reset, ptr is: " << *ptr << '\n';
  }

Output:


  before reset, ptr is: 42

See also


    returns a pointer to the managed object
get (public member function)