【发布时间】:2010-02-19 21:13:47
【问题描述】:
只是想知道为什么我们需要 struct 如果 class 可以做所有 struct 可以甚至更多?我认为把值类型放在类中没有副作用。
编辑:看不到使用 struct 的任何强有力的理由
结构体类似于类,主要区别如下:
- 结构是值类型,而 class 是一个引用类型。
- 结构不支持继承 (除了隐含地派生自 对象)。
- 一个结构可以有所有成员 类可以,但以下情况除外:
- 无参数构造函数
- 终结器
- 虚拟会员
当需要值类型语义时,使用结构而不是类。结构体的好例子是数字类型,在这种类型中,分配复制值而不是引用更为自然。因为结构是值类型,所以每个实例不需要在堆上实例化对象。在创建一个类型的许多实例时,这可能很重要。
【问题讨论】:
-
你的问题在这里得到了很好的解决:stackoverflow.com/questions/13049/…
-
为什么要编辑问题的答案?