析构函数中"this"的有效性

P45*_*ent 7 c++

在析构函数的最后一行,我有一个诊断类型消息,它采用类似printf形式:

"object destroyed at %p", this
Run Code Online (Sandbox Code Playgroud)

我担心this在这一点上如何定义.

我应该预约吗?行为定义明确吗?

Vla*_*cow 8

根据C++标准(12.4 Destructors)

8 执行析构函数的主体并销毁正文中分配的任何自动对象后,类X的析构函数调用X的直接非变量非静态数据成员的析构函数,X的直接基类的析构函数,如果X是最派生类的类型(12.6.2),它的析构函数调用X的虚拟基类的析构函数.

所以你的代码格式正确.在执行析构函数体之后,将调用所有非静态数据成员和基类的析构函数.