std::unique_ptr<T,Deleter>::operator bool
From cppreference.com
< cpp | memory | unique ptr
C++
Memory management library
|
|
|
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)
|
||||
Helper classes | ||||
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
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) |