std::unique_ptr<T,Deleter>::operator bool
From cppreference.com
< cpp | memory | unique ptr
C++
Utilities library
|
|
Dynamic memory management
|
|
std::unique_ptr
Member functions | ||||
Modifiers | ||||
Observers | ||||
unique_ptr::operator bool | ||||
Non-member functions | ||||
(C++14)(C++20) | ||||
(until C++20)(C++20) | ||||
(C++20) | ||||
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) |