在C++中通常用某种前缀命名成员变量来表示它们是成员变量而不是局部变量或参数.如果你来自MFC背景,你可能会使用m_foo.我myFoo偶尔也见过.
C#(或者可能只是.NET)似乎建议只使用下划线,如_foo.这是否允许C++标准?
之间有什么区别:
namespace Ui
{
class T;
}
class T
{
//some content
};
Run Code Online (Sandbox Code Playgroud)
和
namespace Ui
{
class T
{
//some content
};
}
Run Code Online (Sandbox Code Playgroud)
我使用 Qt Creator,并且在为 Qt Gui 应用程序生成的默认代码中使用了第一个构造。在示例项目中,我有两个类:class MyDialog : public QDialog和class MainWindow : public QMainWindow它们中的每一个都在私有部分包含一个指向该类的指针:
class T: public Q
{
private:
Ui::T *pointer;
}
Run Code Online (Sandbox Code Playgroud)
这种建设的目的是什么?当 MainWindow 类还包含指向 MyDialog 类的指针时,该指针不能包含Ui::限定符:
private:
Ui::MainWindow *ui;
MyDialog *mDialog;
Run Code Online (Sandbox Code Playgroud)
为什么 ?