struct和class的本质区别
本质区别
struct是值类型,而class是引用类型。值类型的实例通常是在线程栈上分配的(静态分配),但是在某些情形下可以存储在堆中。引用类型的对象总是在进程堆中分配(动态分配)。虽然堆栈的执行效率要比堆的高,但是堆栈资源却很有限,不适合处理逻辑复杂的大对象,因此struct常用来处理作为基类型对待的小对象,用class来处理更复杂的商业逻辑。
其他的使用上的区别
- struct字段和继承方式默认public,class则是private
- 结构体存储自身的数据,class仅存储一个动态对象的引用
- C语言中struct不可以为空,但是C++中可以
struct和class的本质区别
http://example.com/2024/01/02/struct和clas的本质区别/