C++ 具名要求:可析构 (Destructible)

来自cppreference.com
< cpp‎ | named req
 
 
C++ 具名要求
基础
Destructible
类型属性
库所属
容器
容器元素
(C++11)

迭代器
流 I/O
格式化
(C++20)
随机数
(C++11)    
并发
(C++11)
(C++11)
范围
其他
(C++11)


 

指定该类型的实例可被析构。

要求

以下情况下,类型 T 满足可析构 (Destructible)

给定

  • T 类型的表达式 u

则下列表达式必须合法且拥有其指定的效果

表达式 后条件
u.~T() u 所拥有的全部资源都得到回收,不抛异常。

注解

对象生存期结束(例如在离开作用域时或由于 delete 表达式)时隐式调用析构函数。如类型要求表中所示的显式析构函数调用是罕见的。

伪析构函数调用所赐,所有标量类型都满足可析构 (Destructible) 的要求,而数组类型和引用类型则不满足。注意 std::is_destructible 允许数组与引用类型。

参阅

检查类型是否拥有未被弃置的析构函数
(类模板)
指定能销毁该类型的对象
(概念)