类 结构体的一些区别

1.类是引用类型 在堆空间 结构体是值类型 在栈空间
2.类有反初始化器 结构体没有
3.下标的返回值是类类型的时候 不用写set方法  返回值是结构体类型的时候 要写set方法
4.类可以用static class来修饰类型属性 类型方法 结构体只能使用static来修饰
5.类的内存大小 是 8个字节的类型信息 + 8个字节的引用计数 + 成员变量
类型信息里面存放的是函数地址  必须是16的倍数
结构体是 成员变量的个数 * 成员变量占有的字节数 是8的倍数
6.结构体是深拷贝 相当于拷贝出来一个副本 改变之后 对原先的值不会有影响
类是浅拷贝  相当于多了一个引用计数 对原先的值有影响
7.因为结构体在栈内 能直接找到函数地址 
而类的函数地址存放在类型信息内 相对而言 寻找的速度稍慢
8.类有继承 可以重写 结构体无法继承 
9.初始化器 对于结构体 编译器会生成多种初始化器 (如果自己没有写初始化器的话 如果写了 编译器就不会自动生成了) 对于类而言 编译器只会生成init这种编译器 (如果自己没有写初始化器的话 如果写了 编译器就不会自动生成了)
10.结构体无法跟OC桥接 类可以桥接

第三条暂定

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容