C++ 命名需求: *可析构 (Destructible)*
指定类型的实例可以被析构。
要求
如果满足以下条件,类型 T 满足 *可析构 (Destructible)*:
给定
- u,一个 T 类型的表达式
以下表达式必须有效并具有其指定的效果
pub | 表达式 | 后置条件 |
pub | u.~T() | u 持有的所有资源都被回收,不抛出任何异常 |
备注
析构函数会在对象生命周期结束时隐式调用,例如离开作用域时或通过delete-expression调用。如类型需求表中所示的显式析构函数调用很少见。
由于伪析构函数调用,所有标量类型都满足 *可析构 (Destructible)* 的要求,而数组类型和引用类型则不满足。请注意,std::is_destructible 允许数组和引用类型。