gpt4 book ai didi

c++ - main() Qt 项目中动态分配的对象

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:48 25 4
gpt4 key购买 nike

我的 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();
}

最佳答案

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;
}

但是动态分配看起来没必要。
为什么不

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();
}

关于c++ - main() Qt 项目中动态分配的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19640052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com