我有一个class A
,它为它的一个字段使用堆内存分配。类A被实例化并存储为另一个类中的指针字段(class B
。
当我处理完B类的对象时,我调用delete
,我假设它调用析构函数...但是这是否也调用了A类的析构函数呢?
编辑:
从答案中,我认为(如果不正确,请编辑):
B的实例的
delete
调用B::~B();调用A::~A();
A::~A
的object;delete
A的所有堆分配的成员变量。存储B类的实例的内存块被返回到堆-当使用new时,它首先在堆上分配一个内存块,然后调用构造函数对其进行初始化,现在在调用所有析构函数完成对象之后,对象所在的块被返回到堆。https://stackoverflow.com/questions/677653
复制相似问题