C++ именованные требования: Destructible
Материал из cppreference.com
Определяет, что экземпляр типа может быть разрушен.
Требования
Тип T удовлетворяет Destructible если
Дано
u, выражение типаT
Следующие выражения должны быть допустимыми и иметь указанные эффекты
| Выражение | Постусловия |
|---|---|
u.~T()
|
Все ресурсы, которым владел u освобождены при это не выбрасывая исключений.
|
Заметки
Деструкторы вызываются неявно в конце object lifetime, а также при выходе за пределы scope или с помощьюdelete-expression. Внешний деструктор как было показано в таблице требований типа встречается редко.
Спасибо pseudo destructor call, все скалярные типы удовлетворяют требованию Destructible, в то время, как массивы и ссылки нет. Не забывайте, что выражению std::is_destructible также соответствуют массивы и ссылки.
Смотри также
(C++11)(C++11)(C++11) |
проверяет, есть ли у типа неудалённый деструктор (шаблон класса) |
(C++20) |
указывает, что объект данного типа может быть уничтожен (концепт) |