2012-01-02 29 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將在堆上而不是在堆上創建對象。我想這就是它。

如果您確實將標籤設置爲另一個窗口小部件的子窗口,並在堆棧上創建了父窗口小部件並在堆上創建了子窗口(本例中爲標籤),那麼當子窗口被銷燬時,但我從來沒有試過能夠確認它。