Difference between Class and Structure
Class | Structure |
---|---|
类是引用类型 | 结构是值类型 |
所有的引用类型都分配在堆内存上 | 所有值类型都分配在堆栈内存上 |
大引用类型的分配比大值类型的分配便宜 | 与引用类型相比,值类型的分配和取消分配更便宜 |
类可以包含构造函数或析构函数 | 结构不包含无参数构造函数或析构函数,但可以包含参数化构造函数或静态构造函数。 |
一个类可以从另一个类继承 | 不允许 Struct 从另一个结构或类继承 |
类的函数成员可以是虚拟的或抽象的 | 结构的函数成员不能是虚拟的或抽象的 |
类的两个变量可以包含同一个对象的引用,对一个变量的任何操作都会影响另一个变量 | struct 中的每个变量都包含自己的数据副本(除了 in ref 和 out 参数变量),对一个变量的任何操作都不会影响另一个变量 |