结构体和类


  1. 不同点
  • 结构体只能封装数据,而类不仅可以封装数据还可以封装行为
  • 结构体变量分配在栈空间(如果是一个局部变量的情况下),而对象分配在堆空间。
  • 栈的特点,空间相对较少,但是存储在栈中的数据的访问效率更高
  • 堆的特点,空间相对较大,但是存储在堆中的数据的访问效率相对较低。
  1. 应用场景
  • 如果表示的这个实体,不仅是由多个数据组成的,这个是实体还有行为,只能使用类
  • 如果表示的实体没有行为,只有属性,如果属性只有几个则定义为结构体,否则定义为类,因为栈中的空间较少。
学习