C++ 11 标准——在头文件中初始化成员变量
C++ 11 standards - initialize member variables in header
是否需要在头文件中用nullptr或Q_NULLPTR初始化成员变量?如果是,为什么如此需要,当我正确初始化它时,构造函数初始化列表。
在MyDialog.h,
QDialog* m_Dialog = Q_NULLPTR;
在MyDialog.cpp...我
MDialog()::MDialog()
: QDialog()
, m_Dialog(new QDialog())
{
}
在析构函数中,我将 delete n 设置为 nullptr。
为什么需要以下内容?
QDialog* m_Dialog = Q_NULLPTR;
不需要使用
QDialog* m_Dialog = Q_NULLPTR;
初始化成员变量。
上面的句法形式在有许多构造函数时很有用,在这些构造函数中您想要用相同的值初始化成员变量。它减少了重复代码。
如果您的 class 具有您发布的唯一构造函数,您可以将成员变量声明保留为
QDialog* m_Dialog;
不会对您的程序产生不利影响。
是否需要在头文件中用nullptr或Q_NULLPTR初始化成员变量?如果是,为什么如此需要,当我正确初始化它时,构造函数初始化列表。
在MyDialog.h,
QDialog* m_Dialog = Q_NULLPTR;
在MyDialog.cpp...我
MDialog()::MDialog()
: QDialog()
, m_Dialog(new QDialog())
{
}
在析构函数中,我将 delete n 设置为 nullptr。
为什么需要以下内容?
QDialog* m_Dialog = Q_NULLPTR;
不需要使用
QDialog* m_Dialog = Q_NULLPTR;
初始化成员变量。
上面的句法形式在有许多构造函数时很有用,在这些构造函数中您想要用相同的值初始化成员变量。它减少了重复代码。
如果您的 class 具有您发布的唯一构造函数,您可以将成员变量声明保留为
QDialog* m_Dialog;
不会对您的程序产生不利影响。