这个语法是什么?

发布于 2024-10-01 13:13:50 字数 411 浏览 6 评论 0原文

可能的重复:
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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

白云不回头 2024-10-08 13:13:50

它是 成员初始化列表

ui(new Ui::TagDetails) 表示使用指向 Ui::TagDetails 类型的新分配对象的指针来初始化成员变量 ui

It is a member initialization list.

ui(new Ui::TagDetails) means that the member variable ui is initialized with the pointer to newly allocated object of type Ui::TagDetails.

薄荷港 2024-10-08 13:13:50

您正在查看的是一个初始值设定项列表。该类的 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 of new Ui::TagDetails, where TagDetails is defined inside the class or namespace Ui.

旧城空念 2024-10-08 13:13:50

这称为初始化列表。请参阅 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文