#include <QApplication>
#include <QWidget>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//correct
QWidget window;
QPushButton quit("Quit", &window);
// //incorrect,quit二次析构
// QPushButton quit("Quit");
// QWidget window;
// quit.setParent(&window);
//如果是在是定义在栈上:在构造函数中增加:setAttribute(Qt::WA_DeleteOnClose)以后,
//会在关闭时出现异常,因为当退出main方法时,会自动销毁窗口,而setAttribute方法会使得Qt再次销毁窗口,造成二次delete,产生报错。
// Widget w;
// w.show();
//如果定义在堆上 : 在关闭时main方法不会自动销毁,而Qt会根据setAttribute设置销毁。不会报错。
// Widget *w = new Widget;
// w->show();
return a.exec();
}
内存异常
最新推荐文章于 2021-08-02 21:42:24 发布