【发布时间】:2015-08-27 18:21:06
【问题描述】:
我遇到了 Qt5 的 WA_DeleteOnClose 属性的问题。
情况是这样的:我有一个扩展QMainWindow 的类M,在这个类中我使用了一个堆分配的数组。当窗口 M 关闭并调用析构函数时,我用WA_DeleteOnClose 读到了这一点,每个以 M 作为父级的成员都被删除。
我的问题是:数组是怎么回事?我知道当调用析构函数时,每个堆栈分配的成员都会被释放,而且我知道,在正常情况下,我必须在我的数组上调用 delete[]。但是在这些条件下呢?如果我不使用 delete[],我的数组是否因为 WA_DeleteOnClose 属性而被释放?
另一个问题。 M 的所有孩子都继承了 WA_DeleteOnClose 属性吗?换句话说,我必须在所有孩子中将该属性设置为 true 吗?
【问题讨论】:
标签: c++ qt5 heap-memory destructor