# C++ concepts: Destructible

From cppreference.com
< cpp‎ | concept

Specifies that an instance of the type can be destructed.

### Requirements

The type `T` satisfies `Destructible` if

Given

- `u`, a expression of type `T`

The following expressions must be valid and have their specified effects

Expression | Post-conditions
--- | ---
u.~T() | All resources owned by `u` are reclaimed, no exceptions are thrown.

### Notes

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.

### See also

is_destructible is_trivially_destructible is_nothrow_destructible (C++11)(C++11)(C++11) | checks if a type has a non-deleted destructor (class template)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/concept/Destructible&oldid=82708"