20 General utilities library [utilities]

20.11 Smart pointers [smartptr]

20.11.1 Class template unique_­ptr [unique.ptr]

20.11.1.2 unique_­ptr for single objects [unique.ptr.single]

20.11.1.2.2 Destructor [unique.ptr.single.dtor]

~unique_ptr();
Preconditions: The expression get_­deleter()(get()) is well-formed, has well-defined behavior, and does not throw exceptions.
[Note:
The use of default_­delete requires T to be a complete type.
— end note]
Effects: If get() == nullptr there are no effects.
Otherwise get_­deleter()(get()).