enum内存分配 - ShenYj/ShenYj.github.io GitHub Wiki

enum内存分配

可以通过苹果api观测

  • MemoryLayout<类型>.size 真实大小
  • MemoryLayout<类型>.stride 内存对齐后的实际大小

普通的枚举类型

1个字节: uint8 存储case, 如果超出会自动扩容为 uint16 类型, 理论上已经可以存储 255个 case

关联值的枚举

通常情况下取关联值最大的那个case + 1

枚举嵌套枚举

取决于嵌套枚举的大小

结构体内嵌套枚举

在没有其他成员的情况下取决于枚举case大小

⚠️ **GitHub.com Fallback** ⚠️