【发布时间】:2013-10-28 16:25:10
【问题描述】:
我的int main() 中有几个动态分配的对象,我应该如何在程序结束时删除它们?目前我认为我没有在程序结束时释放内存,这是主要的:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow *w = new MainWindow;
breadData *dat = new breadData("audit.dat");
//link main window with bread data
w->_link(dat);
//show main window
w->show();
//execute loop
return a.exec();
}
【问题讨论】:
-
实际上,您不必这样做。通常在 QT 程序中它们不会。但这给了我意志力,所以我尽量避免这种模式(要么创建对象的具体实例,要么使用智能指针)。
-
@MadScienceDreams 您不必在其他对象拥有的对象之后释放内存(父子关系)。在 OP 的代码中没有这种关系。