美文网首页
iOS结构体和类的区别

iOS结构体和类的区别

作者: liang1030 | 来源:发表于2020-03-17 13:55 被阅读0次

    1,语义:

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

    2,内存管理方式:

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

    3,共享代码:

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

    相关文章

      网友评论

          本文标题:iOS结构体和类的区别

          本文链接:https://www.haomeiwen.com/subject/djltyhtx.html