20 Memory management library [mem]

20.3 Smart pointers [smartptr]

20.3.1 Unique-ownership pointers [unique.ptr]

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

20.3.1.3.3 Destructor [unique.ptr.single.dtor]

constexpr ~unique_ptr();
Effects: Equivalent to: if (get()) get_­deleter()(get());
[Note 1:
The use of default_­delete requires T to be a complete type.
— end note]
Remarks: The behavior is undefined if the evaluation of get_­deleter()(get()) throws an exception.