内存异常

来源:互联网 发布:linux下挂在ntfs硬盘 编辑:程序博客网 时间:2024/05/19 06:16
#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();}