zoukankan      html  css  js  c++  java
  • 类和结构体的区别

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

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

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

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

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

    如何选择结构体还是类

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

  • 相关阅读:
    python
    spice-vdagent
    no ia32-libs
    git conflict
    wget mirror
    docker !veth
    libprotobuff8.so not found
    angular 列表渲染机制
    Java测试技巧
    react组件生命周期
  • 原文地址:https://www.cnblogs.com/ogaligong/p/12372774.html
Copyright © 2011-2022 走看看