std::unique_ptr<T,Deleter>::operator bool
From cppreference.com
                    
                                        
                    < cpp | memory | unique ptr
                    
                                                            
                    |   explicit operator bool() const noexcept;  | 
 (since C++11)  (constexpr since C++23)  | 
|
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(); ptr ? (std::cout << "after reset, ptr is: " << *ptr) : (std::cout << "after reset ptr is empty") << '\n'; }
Output:
before reset, ptr is: 42 after reset ptr is empty
See also
|   returns a pointer to the managed object  (public member function)  |