引用类型(class)和值类型(struct)有什么区别?struct相比class 在使用上有什么优势?

在Swift中,class是引用类型,struct是值类型。值类型在传递和赋值时将进行复制,而引用类型只会使用引用对象的一个'指向'。
class可以继承,使得子类可以使用父类的特征和方法。类型转换可以在运行时检查和解释一个实例的类型。可以使用deinit来释放资源。一个类可以被多次引用。
struct 结构小相比class一个实例被多次使用,struct更加安全。无需担心内存泄露或者多线程冲突的问题。
在内存中,应用类型是在堆(heap)上进行存储和操作的,而值类型如结构图(struct),则是在栈(stack)进行存储和操作的。相比栈上的操作,堆上的操作更加复杂和耗时,所以官方推荐使用结构体,来提高App运行效率。

原文地址:https://www.cnblogs.com/ChenHuChang/p/12454648.html