类和结构体的区别


结构体(sturct)是一种值类型,而类(class)是引用类型。区别在于复制方式,值类型的数据是值赋值,引用类型的数据是引用复制。

结构体使用栈存储(Stack Allocation),而类使用堆存储(Heap Allocation)。  

  栈的空间相对较小.但是存储在栈中的数据访问效率相对较高。

  堆的空间相对较大.但是存储在堆中的数据的访问效率相对较低

结构体使用完之后就自动解除内存分配,类实例有垃圾回收机制来保证内存的回收处理

 

如何选择结构体还是类

1. 堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些
2. 结构体表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构体的成本较低。
3. 在表现抽象和多级别的对象层次时,类是最好的选择,因为结构体不支持继承
4. 大多数情况下该类型只是一些数据时,结构体时最佳的选择

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM