Note::Note(Traymenu *trayMenuIn, QWidget *parent) :
ui(new Ui::Note){
ui->setupUi(this);
Note::Note(Traymenu *trayMenuIn, QWidget *parent){
ui = new Ui::Note;
ui->setupUi(this);
这两种都有效。上面的代码是由QtCreator建议的,如果我必须自己编写代码,那么下面的代码就是我要做的。
注意私人会员是
Ui::Note *ui;
答案 0 :(得分:4)
只有第一个表单是初始化。第二个表单使用未定义的值初始化ui
,然后为其分配值。
你应该更喜欢第一种形式(初始化)。请参阅相关的C++ FAQ entry。
答案 1 :(得分:2)
虽然差别很小,但我更喜欢QtCreator建议的代码片段:它使用初始化语法而不是逻辑上代表初始化的代码的赋值语法。
由于正在初始化的成员是指针,因此即使关闭优化也不会有性能损失。但是,最好养成使用初始化列表尽可能初始化的习惯,因为这可以防止构造函数本身内部存在潜在的编码问题。