先创建父对象,在创建子对象
如下:
Qwidget window;
QPushButton quit("Quit",&window);
入栈顺序:window先入栈 quit后入栈,弹栈先调用quit的析构,就会将quit从window的孩子列表删除,然后window调用析构,由于孩子列表中没有对象,就不会再去释放quit
先创建子对象,在创建父对象
如下:
QPushButton quit("Quit");
Qwidget window;
quit.setParent(&window);
入栈顺序:先入quit,后window,先调用window析构,查看window的孩子列表,调用quit的析构,然后quit出栈,也会调用quit的析构,所以quit被调用两次析构,程序会崩溃。
建议QT从堆区申请空间,而不是栈区