iOS结构体和类的区别

1,语义:

类:引用类型(引用语义),需要自己管理其引用计数、引用值的变化
结构体: 值类型(值语义),在设计结构体时,我们可以要求编译器保证不可变性。

2,内存管理方式:

类:类的实例只能通过引用来间接地访问。类能有很多个持有者。
结构体:可以被直接持有及访问,不会被引用,但是会被复制。也就是说,结构体的持有者是唯一的。

3,共享代码:

类: 通过继承来共享代码
结构体 (以及枚举):不能被继承。想要在不同的结构体或者枚举之间共享代码,我们需要使用不同的技术,比如像是组合、泛型以及协议扩展等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容