Spec-Zone.ru › C++

Именованные требования C++: Destructible

Указывает, что экземпляр типа может быть разрушен.

Требования

Тип T удовлетворяет требованию Destructible, если

Дано

  • u — выражение типа T.

Следующие выражения должны быть допустимы и иметь указанные эффекты.

Выражение Постусловия
u.~T() Все ресурсы, принадлежащие u, освобождаются; исключения не выбрасываются.

Примечания

Деструкторы вызываются неявно в конце времени жизни объекта, например при выходе из области видимости или оператором delete. Явный вызов деструктора, показанный в таблице требований к типу, встречается редко.

Благодаря псевдовызову деструктора все скалярные типы удовлетворяют требованию Destructible, а типы массивов и ссылочные типы — нет. Обратите внимание, что std::is_destructible допускает массивы и ссылочные типы.

См. также

is_destructibleis_trivially_destructibleis_nothrow_destructible
(C++11)(C++11)(C++11)
проверяет, имеет ли тип неудалённый деструктор
(шаблон класса)
is_destructible_typeis_trivially_destructible_typeis_nothrow_destructible_type
(C++26)(C++26)(C++26)
проверяет, имеет ли отражённый тип неудалённый деструктор
(функция)
destructible
(C++20)
указывает, что объект данного типа может быть уничтожен
(концепт)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/named_req/Destructible

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API