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