美文网首页
类 结构体的一些区别

类 结构体的一些区别

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

第三条暂定

相关文章

  • 结构体和类的一些简单区别

    结构体和类的区别 1.写法区别: 结构体-struct 类-cl...

  • 第九章 类和结构体

    c++中,结构体是稍有不同的类,类能做的,结构体也可以; 而swift中,结构体与类有较大区别, 结构体与类的区别...

  • Swift5 _07_多态原理_初始化

    多态 结构体struct与类class 的区别(1)结构体是值类型、类是引用类型(2)类可以继承,结构体不能继承(...

  • Swift笔记<十五>结构体和类的区别

    结构体和类的区别 结构体有逐一构造器,类没有 结构体是值类型,类是引用类型 结构体不是继承(意味着没有多态)

  • swift基础_结构体和类

    一.结构体和类 结构体张这个样子 类张这个样子 二.结构体和类的区别 针对结构体, 即使你没有定义函数,编译器也会...

  • Note 7 类和结构体

    结构体 类 定义 类的属性 成员变量 静态变量 成员方法 类方法 与结构体的区别 用let定义的结构体变量,成员不...

  • swift 结构体和类的区别

    结构体和类的本质区别(64bit下) 结构体是值类型(枚举也是值类型) 类是引用类型(指针类型) 类 结构体

  • iOS知识点-8.类(class)和结构体(struct)有什么

    Swift Basics 类(class)和结构体(struct)有什么区别? Swift中,类是引用类型,结构体...

  • swift面试题

    class 和 struct 的区别 class 为类, struct 为结构体, 类是引用类型, 结构体为值类型...

  • 第一章:

    1.class 和 struct 的区别 a.class 为类, struct 为结构体, 类是引用类型, 结构体...

网友评论

      本文标题:类 结构体的一些区别

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