C++析构函数:当内存被释放时?

bit*_*oon 5 c++ destructor

如果我删除了一个导致其析构函数被调用的对象,那么在析构函数完成函数中的任何操作之前或之后是否释放了内存?

sha*_*oth 7

只有在最小派生类子对象被销毁后才会释放内存.所以如果你有:

class Base {
};

class Derived : public Base {
public:
    ~Derived();
};
Run Code Online (Sandbox Code Playgroud)

然后首先Derived被销毁,然后被销毁,然后Base才释放内存.