C++ 具名要求:可析构 (Destructible)
来自cppreference.com
指定该类型的实例可被析构。
要求
以下情况下,类型 T
满足可析构 (Destructible) :
给定
-
T
类型的表达式u
则下列表达式必须合法且拥有其指定的效果
表达式 | 后条件 |
---|---|
u.~T() | u 所拥有的全部资源都得到回收,不抛异常。
|
注解
在对象生存期结束(例如在离开作用域时或由于 delete 表达式)时隐式调用析构函数。如类型要求表中所示的显式析构函数调用是罕见的。
由于允许伪析构函数调用,所有标量类型都满足可析构 (Destructible) ,而数组类型和引用类型则不满足。注意 std::is_destructible 允许数组与引用类型。
参阅
(C++11)(C++11)(C++11) |
检查类型是否拥有未被弃置的析构函数 (类模板) |
(C++20) |
指定能销毁该类型的对象 (概念) |