关闭应用程序并删除所有内存分配

时间:2014-01-07 17:13:24

标签: c++ qt memory-management

我编写了一个Qt应用程序,我调用了许多构造函数:

Object o = new Object(blabla);

我无法删除它们,直到用户关闭程序。

单击关闭按钮(或cmd-Q)时,我调用此函数:

qApp->quit();

现在这个功能是否会删除以前分配的所有内存,或者我必须自己手动执行此操作吗? 我已经查看了退出函数的文档,但它没有提到它。

1 个答案:

答案 0 :(得分:0)

该函数停止主线程的事件循环并将控制权返回给主函数

如果你的主要是:

int main(int argc, char *argv[]){
QApplication qApp(argc, argv);
MyQObject obj();


return qApp.exec();
}

然后RAII将删除将传播给孩子的obj

如果你需要清理其他资源,那么你可以使用qAddPostRoutine添加一个清理函数,这些函数将从qApp析构函数

中调用