2012-01-02 22 views
0
#include <QApplication> 
#include <QLabel> 

int main(int argc, char** argv) 
{ 
    QApplication app(argc, argv); 
    QLabel label("haha"); 
    label.show(); 
    return app.exec(); 
} 

考虑到上面的代码,如果我更改为QLabel* label = new QLabel("haha")QApplication* app = new QApplication(argc, argv),有什么区别?新QLabel或非新QLabel有什么区别?

谢谢。

回答

1

使用new将在堆上而不是在堆上创建对象。我想这就是它。

如果您确实将标签设置为另一个窗口小部件的子窗口,并在堆栈上创建了父窗口小部件并在堆上创建了子窗口(本例中为标签),那么当子窗口被销毁时,但我从来没有试过能够确认它。