在析构函数的最后一行,我有一个诊断类型消息,它采用类似printf形式:
"object destroyed at %p", this
Run Code Online (Sandbox Code Playgroud)
我担心this在这一点上如何定义.
我应该预约吗?行为定义明确吗?
根据C++标准(12.4 Destructors)
8 执行析构函数的主体并销毁正文中分配的任何自动对象后,类X的析构函数调用X的直接非变量非静态数据成员的析构函数,X的直接基类的析构函数,如果X是最派生类的类型(12.6.2),它的析构函数调用X的虚拟基类的析构函数.
所以你的代码格式正确.在执行析构函数体之后,将调用所有非静态数据成员和基类的析构函数.
| 归档时间: |
|
| 查看次数: |
1097 次 |
| 最近记录: |