区别
首先结构体的类型是值类型,类的类型是引用类型
结构体存储在栈中 类存储在堆中
栈的空间小 但是访问速度快
堆的空间大 但是访问速度相对较慢
结构体不能继承 不能创建构造函数 结构成员不能指定为抽象(abstract) 虚(virtual)保护(protected)类型
结构体所构造函数必须为所有值赋初值
所以:
结构体一般存储轻量数据 类一般存储相对复杂的逻辑结构的数据
使用环境:
当堆栈的空间有限 且需要大量的逻辑对象的时候 创建类比较好一些
对于颜色这种轻量类型的时候 假如是一个声明颜色的数组的时候 我们使用结构体的成本比较低
当需要表现抽象或者是多层次,类是最好的选择 因为结构体不支持继承