命名空间
变体
操作

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

来自 cppreference.cn
 
 
C++ 命名要求
基本
Destructible(可析构)
类型属性
全库范围




Container(容器)
容器元素
迭代器 (Iterator)
流 I/O
格式化器
随机数
并发
范围 (Ranges)
多维视图
其他

 

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

[编辑] 要求

类型 T 满足 可析构 (Destructible),如果

给定

  • u 是类型 T 的一个表达式。

以下表达式必须有效并具有其指定的效果。

表达式 后置条件
u.~T() u 拥有的所有资源被回收,不会抛出异常。

[编辑] 注意

析构函数在对象生命周期结束时隐式调用,例如当离开作用域时或通过delete-expression调用。如类型要求表所示的显式析构函数调用是罕见的。

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

[编辑] 另请参阅

检查类型是否具有非删除的析构函数
(类模板) [编辑]
指定该类型的对象可以被销毁
(概念) [编辑]