C++ назначаемые требования: Destructible
Указывает, что экземпляр типа может быть уничтожен.
Требования
Тип T удовлетворяет Destructible, если
Дано
-
u, выражение типаT.
Следующие выражения должны быть допустимы и иметь указанные эффекты.
| Выражение | Пост-условия |
|---|---|
u.~T() | Все ресурсы, принадлежащие u, освобождаются, исключения не выбрасываются. |
Примечания
Деструкторы вызываются неявно в конце жизненного цикла объекта, например, при выходе из области видимости или с помощью delete-выражения. Явный вызов деструктора, как показано в таблице требований типа, встречается редко.
Благодаря псевдовызову деструктора, все скалярные типы удовлетворяют требованию Destructible, в то время как типы массивов и ссылки не удовлетворяют. Обратите внимание, что std::is_destructible допускает массивы и ссылки.
См. также
|
(C++11)(C++11)(C++11) | проверяет, есть ли у типа не удаленный деструктор (шаблон класса) |
|
(C++20) | указывает, что объект типа может быть уничтожен (концепция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/named_req/Destructible