【发布时间】:2012-10-17 17:11:30
【问题描述】:
可能重复:
What are the differences between struct and class in C++
我只是想弄清楚在 C++ 中使用“C 结构”是否基本上没用。使用它们有什么收获吗(而不是简单地创建另一个类)?
在 C 中,结构的意义是显而易见的,只是分组数据的连续分配和访问所述数据的好方法,在 C++ 中,我觉得角色变得更加模糊。
鉴于您可以拥有作为结构成员、实例变量和可见性标签的函数,我在 C++ 中看到的结构和类之间的唯一真正区别是结构成员默认为公共,而类成员默认为私有。在我看来,它们实际上都可以使用相同的底层系统来实现。
所以我在这里遗漏了一些关于 C++ 中结构的用途的内容吗?或者他们已经失去了他们的目的,就像我觉得他们在 C++ 中所做的那样?
【问题讨论】:
-
嗯...它显然是从 C 继承来的。
-
是的,我知道它是从 C 继承来的。这根本不是我的问题的目的。我想知道你是否从使用 C++ 中的结构中获得了什么,当它们“搞砸”时(至少在我看来)与它们在 C 中的情况相反。C 中的结构与 C++ 中的结构不同,尽管向后兼容性,并且鉴于它们与类具有完全相同的方面,我想知道您是否通过使用它们获得了任何东西。我真的希望 C++ 中的结构能够保持与 C 中的一样,只是数据的连续分配,没有函数,没有可见性,没有任何东西 - 只是变量。