这个语法是什么?
可能的重复:
C++ 构造函数名称后面的冒号有什么作用?
我发现 C++ 中的语法很奇怪
TagDetails::TagDetails(QWidget *parent) :
QDialog(parent),
ui(new Ui::TagDetails)
这是 C++ 中构造函数的声明...冒号后面的东西代表什么,即 ui(new Ui::TagDetails) 在这里意味着什么?冒号有什么用?
Possible Duplicate:
What does a colon following a C++ constructor name do?
I am finding this syntax strange in C++
TagDetails::TagDetails(QWidget *parent) :
QDialog(parent),
ui(new Ui::TagDetails)
This is declaration of constructor in C++... What does the thing after colon stand for, i.e. what does ui(new Ui::TagDetails) mean here? What is the colon for?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
它是 成员初始化列表。
ui(new Ui::TagDetails)
表示使用指向Ui::TagDetails
类型的新分配对象的指针来初始化成员变量ui
。It is a member initialization list.
ui(new Ui::TagDetails)
means that the member variableui
is initialized with the pointer to newly allocated object of typeUi::TagDetails
.您正在查看的是一个初始值设定项列表。该类的
ui
成员正在使用new Ui::TagDetails
值进行初始化,其中TagDetails
是在类或命名空间内定义的 <代码>用户界面。What you're looking at is an initializer list. The
ui
member of the class is being initialized with a value ofnew Ui::TagDetails
, whereTagDetails
is defined inside the class or namespaceUi
.这称为初始化列表。请参阅 C++ 常见问题解答,了解初始化列表相对于赋值的优点。
我不熟悉该网站,但 此页面 似乎解释了非常彻底地了解事情是如何运作的。
This is called an initialization list. See C++ FAQ for the pros of initialization lists over assignment.
I'm not familiar with the site, but this page seems to explain quite thoroughly how things work.