美文网首页
Class和Struct比较

Class和Struct比较

作者: 深度码农患者 | 来源:发表于2020-05-14 21:36 被阅读0次
  • 从类型上看,在Swift中,Class是引用类型,Struct是值类型。值类型在传递和赋值的时候进行深复制,而引用类型只会产生一个指向对象的指针。
  • 从内存区域上看,Class是在堆上进行存储和操作的,而Struct是在栈上进行存储和操作。相比于栈上的操作,堆上的操作更加复杂耗时。所以在Swift中,苹果官方推荐使用结构体,这样可以提高App允许的效率。
  • Class的优点是可以继承(继承和多态),这样子类可以使用父类的属性和方法。可以用deinit来释放资源,可以被多次引用。
  • Struct的优势是结构较小,适合赋值操作。相对于一个Class的实例被多次引用更加安全。无需担心内存循环引用问题线程冲突问题。

相关文章

  • Class和Struct比较

    从类型上看,在Swift中,Class是引用类型,Struct是值类型。值类型在传递和赋值的时候进行深复制,而引用...

  • Swift中,Struct在栈区,Class对象分配在堆区?

    学习Swift时,有各种Struct和Class的比较,不少博客,指出Struct速度快,分配在栈区,而Class...

  • 数据库

    struct & class C++中的struct是对C中的struct的扩充。和class一样,struct有...

  • Lesson2

    Class 和Struct区别 Class的对象是引用类型,Struct的对象是值类型 Struct没有继承

  • OC中的class和meta-class对象的结构分析

    class和meta-class对象的类型都是 struct objc_class 结构体 struct objc...

  • 底层原理:class和meta-class的结构

    class和meta-class对象的类型都是 struct objc_class 结构体 struct objc...

  • C# Struct

    Struct 和 class 差不多,但有一些不同: struct是值类型, class是引用类型 struct不...

  • struct 和class

    Swift 浅谈Struct与Class - 贝克的飞机 - 博客园

  • struct 和 class

    基本一样,都可以有方法,有变量,非常相似. 主要有两个区别: struct 没有继承 struct是值类型,cla...

  • struct 和 class

    值类型 VS 引用类型 值类型和引用类型的核心不同就是数据和数据的存储位置。我们用局部变量、参数、属性和全局变量来...

网友评论

      本文标题:Class和Struct比较

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