Пространства имён
Варианты
Действия

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

Материал из cppreference.com
 
 
Именованные требования в C++
Основные
Свойства типа
В масштабах библиотеки
Контейнер
Элементы контейнера
(C++11)

Итератор
Потоковый Ввод/Вывод
Форматтеры
(C++20)
Случайные Числа
(C++11)    
Конкуренция
(C++11)
(C++11)
Диапазоны
Другое
(C++11)


 

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

Требования

Тип T удовлетворяет Destructible если

Дано

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

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

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

Заметки

Деструкторы вызываются неявно в конце object lifetime, а также при выходе за пределы scope или с помощьюdelete-expression. Внешний деструктор как было показано в таблице требований типа встречается редко.

Спасибо pseudo destructor call, все скалярные типы удовлетворяют требованию Destructible, в то время, как массивы и ссылки нет. Не забывайте, что выражению std::is_destructible также соответствуют массивы и ссылки.

Смотри также

проверяет, есть ли у типа неудалённый деструктор
(шаблон класса) [править]
указывает, что объект данного типа может быть уничтожен
(концепт) [править]