2

これは、Qt mainwindow.cpp で自動生成された関数コードです。

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{

}

これは同じことでしょうか?

MainWindow::MainWindow(QWidget *parent)
{
    QMainWindow = parent;
    ui = new Ui::MainWindow;
}
4

1 に答える 1

5

いいえQMainWindow。基本クラスだと思いますので、これにQMainWindow=parent代わるものではありません。課題もui。最初のケースでは、で初期化new Ui::MainWindowされますが、2番目のスニペットでは、初期化後に割り当てられます。複雑なオブジェクトの場合、パフォーマンスが大幅に低下する可能性があり、構築後にオブジェクトを適切に初期化できない場合もあります。

于 2012-12-30T20:41:11.557 に答える