C ++ 11标准 - 在头文件中初始化成员变量

时间:2018-04-12 05:34:27

标签: c++11 constructor qt5 nullptr

是否有必要在头文件中使用nullptr或Q_NULLPTR初始化成员变量?如果是,那么为什么它如此需要,当我正确初始化它的ctor初始化列表。

在MyDialog.h中,

QDialog* m_Dialog = Q_NULLPTR;

在MyDialog.cpp中......我做

MDialog()::MDialog()
  : QDialog()
  , m_Dialog(new QDialog())
  { 
  }

在析构函数中,我正确删除n将其设置为nullptr。

为什么以下要求?

QDialog* m_Dialog = Q_NULLPTR;

1 个答案:

答案 0 :(得分:0)

您无需使用

QDialog* m_Dialog = Q_NULLPTR;

初始化成员变量。

当有许多构造函数需要使用相同的值初始化成员变量时,上述语法形式很有用。它减少了重复的代码。

如果您的类具有您发布的唯一构造函数,则可以将成员变量声明保留为

QDialog* m_Dialog;

不会对您的计划产生负面影响。