小编Kam*_*m12的帖子

为什么向结构体添加函数不会使其实例变大?

struct A {
  var a:Int = 2
  
  func f()->Int {
    return 2*a
  }
}

var obj = A()
obj.f()
Run Code Online (Sandbox Code Playgroud)

大小obj为8字节。如果我添加新属性,大小将会改变。没关系。

我想知道编译器如何关心函数的内存。无论struct中有没有func,大小都是一样的。但 func 也是信息,我想它也应该占用内存(也许我错了)。那么这个过程是如何进行的呢?

如果您推荐我主题名称以便我可以阅读,我将不胜感激。

谢谢

memory memory-layout swift

1
推荐指数
1
解决办法
63
查看次数

标签 统计

memory ×1

memory-layout ×1

swift ×1