Syn*_*ose 1 c++ qt dynamic object
我有几个动态分配的对象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();
}
Run Code Online (Sandbox Code Playgroud)
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
int result = a.exec();
delete dat;
delete w;
return result;
}
Run Code Online (Sandbox Code Playgroud)
但动态分配看起来很不必要.
为什么不
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
breadData dat("audit.dat");
//link main window with bread data
w._link(&dat);
//show main window
w.show();
//execute loop
return a.exec();
}
Run Code Online (Sandbox Code Playgroud)