struct能继承么? 为什么用struct不用class? 为什么struct比class安全?
值类型和引用类型
-
值类型: 声明一个值类型变量,编译器会在栈中开辟空间,不需要手动管理内存
例如 : int ,float ,double等类型都是基本数据类型。
引用类型 :生另一个引用类型的变量,编译器会在堆中开辟空间,需要手动管理内存
例如:继承自NSObject的对象都是引用类型。
struct 和 class
- struct 不可以继承,class可以
- class是引用类型,struct是值类型
- struct是分配在栈中的,连续的空间,相对较快,class是分配在堆中
- struct是线程安全的
- struct是值类型,无需考虑引用计数,不用担心循环引用