这是Qt mainwindow.cpp中自动生成的功能代码。

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

}

这会是同一回事吗?
MainWindow::MainWindow(QWidget *parent)
{
    QMainWindow = parent;
    ui = new Ui::MainWindow;
}

最佳答案

不。我相信QMainWindow是基类,因此QMainWindow=parent根本不是替代品。至于ui分配。在第一种情况下,它将使用new Ui::MainWindow进行初始化,而在第二个代码段中,将在初始化后进行分配。如果是复杂的对象,则可能会导致明显的性能损失,并且在构造后可能无法正确初始化对象。

关于c++ - 了解成员初始化器列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14094418/

10-13 00:08