C++ 中的结构和类

发布于 2024-12-03 21:20:02 字数 186 浏览 1 评论 0原文

在 C++ 中,如果您创建这样的结构或类,

struct foo {

}

您必须像在 C 中那样使用结构或类限定符来创建另一个结构或类,如果不是,那是为什么呢?什么时候适合在 C++ 中使用它

示例

struct foo a;

谢谢 :-)

In c++ if you create a struct or class like this

struct foo {

}

Must you use the struct or class qualifier to create another one as you do in c, if not why is that? When would it be appropriate to use it in C++

Example

struct foo a;

Thanks :-)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(4

终止放荡 2024-12-10 21:20:02

struct 不是必需的。在 C++ 中,structclass 之间的唯一区别是,在 struct 中,成员是 public默认情况下,在中,它们默认是私有

The struct is not required. In C++, the only difference between a struct and a class is that in a struct, members are public by default, while in a class, they're private by default.

晨与橙与城 2024-12-10 21:20:02

不,在 C++ 中实例化时不需要 struct 关键字。顺便说一下,结构体定义应该以 ; 结尾

No, struct keyword is not required while instantiating in C++. By the way, struct definition should end with a ;

赠佳期 2024-12-10 21:20:02

你可以,但你不必这样做。最好不要,如果您不打算将代码与纯 C 混合,那么这才是正确的 C++ 风格。原因是 C++ 的设计者认为 C 的标签概念过于复杂。我倾向于同意。

You can, but you don't have to. And you better not, it's the proper C++ style if you don't intend to mix your code with pure C. The reason is that the designers of C++ thought that C's concept of tags was unnecessarily complicated. I tend to agree.

心房敞 2024-12-10 21:20:02

在 C 中,您可以通过使用 typedef 来避免它。在 C++ 中,类型是自动创建的,因此无需显式声明。

C 语法使其类似:

typedef struct {
....
} foo;

然后您可以通过说 foo x; 使用它

In C you can avoid it by using a typedef. In C++ the type is created automatically hence no need to explicitly state it.

The C syntax to make it similar:

typedef struct {
....
} foo;

Then you can use it by saying foo x;

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