【发布时间】:2011-04-11 10:11:44
【问题描述】:
【问题讨论】:
-
我想标记 stackoverflow.com/questions/92859/… 的重复项,但实际上这个问题及其答案并没有直接出现并说用
struct定义的类与类一样多用class定义的类是。从这个意义上说,“结构和类之间有什么区别”这个问题已经是错误的,它意味着有两种类型。它应该是“关键字结构和关键字类之间有什么区别”,因为在 C++ 中实际上并没有“结构”之类的东西。 -
我在提问之前阅读了这两个问题,并相信这不是重复的;希望是一个简单、具体且有用的问题;至少对我来说。这是分类法的问题。 是 C++“结构”还是“类”?谢谢。
-
@user643722:在这种情况下,您想要的答案是 9/4:“structure 是一个类......”。有关差异的任何进一步信息都来自您的 POV。但请注意严格使用此定义。我认为在(例如)17.1.8 中不明智地使用了“结构”这个词,我不确定我是否相信标准真的打算说
traits模板参数用class定义是未定义的行为.此外,当标准提到“数据结构”时,它通常指的是类,而不是这种意义上的结构。 -
预声明类/结构的时候也有区别:如果一个结构定义为
struct A { ... };,那么在预声明的时候,需要预声明为struct A;,也不是@987654331 @。一些编译器(例如 MSVC)区分对class或struct成员使用不同的名称修饰。