c++ - 析构函数调用的顺序是否有原因?

标签 c++ destructor

正如我在某些论坛上看到的,当创建派生类对象时,基类成员和方法在内存中分配空间,但没有特定的基类对象。

现在派生类对象超出范围,为什么先调用派生类析构函数。编译器的约束是什么不能在基类析构函数之后调用派生类析构函数..?

如果我理解有误,请纠正我..提前致谢

最佳答案

派生类析构函数可以访问基类成员,因此需要基类对象处于有效状态。

关于c++ - 析构函数调用的顺序是否有原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3611909/

相关文章:

python - 为什么我没有看到 python 中调用析构函数

c++ - 有没有办法让一组未初始化的类在调用 delete[] 时不会被破坏?

c++ - 用空格拆分字符串但只得到第一个字

c++ - FFMPEG:解码 H264 流时无法释放 AVPacket?

c++ - 是否有基于宏的适配器来从类中创建仿函数?

c++ - 为什么 X(X&) 可以调用两次?

c++ - 为什么给对象赋值的时候会调用构造函数和析构函数

c++ - 类型转换的原理是什么?

c++ - 在 Windows 服务的通知栏中显示图标?

C++ 在范围结束前删除函数指针