859 B
859 B
结构体与类的本质区别
- 结构体是值类型(枚举也是值类型),类是引用类型(指针类型) 值类型存储在栈空间,引用类型存储在堆空间
// 类
class Size {
var width = 1
var height = 2
}
// 结构体
struct Point {
var x = 3
var y = 4
}
// 方法体
func test() {
var size = Size()
var point = Point()
}
- point结构体是值类型,在内存中存储的是值
- size类是引用类型,在内存中存储的是Size对象的内存地址
- 前边16个字节存储的是指向类型信息以及引用计数
- 后边的16个字节存储的是成员变量