Specifies that an instance of the type can be destructed.
T satisfies Destructible if.
u, an expression of type
The following expressions must be valid and have their specified effects.
| || All resources owned by
Destructors are called implicitly at the end of object lifetime such as when leaving scope or by the delete-expression. Explicit destructor call as shown in the type requirement table is rare.
Thanks to pseudo destructor call, all scalar types meet the requirement of Destructible, while array types and reference types do not. Note that
std::is_destructible allows arrays and reference types.
| checks if a type has a non-deleted destructor
| specifies that an object of the type can be destroyed
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.