c++ - 这两种初始化成员变量的方法有区别吗?

标签 c++ qt initialization

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推荐的,下面的代码是我自己写的。

笔记的私有(private)成员是

Ui::Note *ui;

最佳答案

只有第一种形式是初始化。第二种形式使用未定义的值初始化 ui,然后分配一个值给它。

您应该更喜欢第一种形式(初始化)。查看相关C++ FAQ entry .

关于c++ - 这两种初始化成员变量的方法有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22103303/

相关文章:

c++ - 如何使用带有 QML 信号的自定义 Qt 类型?

qt - Qml样条图中的异常

c++ - 动态分配数组

c - C 中的二维初始化语法

c++ - QT QTableWidget::item() 返回 nullptr,即使 widget 分配给它

c++ - std::vector 的 Typedef 和 ostream 运算符

c++ - Qt和VS C++ dll函数返回值

C++ 在头文件中声明实例变量并在源文件中调用构造函数

c++ - `' 的原型(prototype)与类 `' 中的任何一个都不匹配

C++中断线程等待用户输入