值类型变量直接包含实际数据,引用类型变量包含对实际数据的引用。
我认为这是:
lhs 是值类型,rhs 是引用类型
在左侧,如果我复制i
到j
,一个新的内存位置将填充相同的原始数据 (45)。
在右侧,如果我复制k
到l
,则新的内存位置将填充对对象的引用;这个引用指向内存中的实际对象。
现在,我对这种引用类型复制感到困惑。这里有一点不同:
在这里,rhs 上的副本l
指向与 相同的位置k
。
我的问题是1。“哪个更真实?” 还是比我想象的要多?
此外,值类型可能会在堆上分配,这取决于 jitter 认为它适合的方式,然后2. 我们可以强制在堆栈上分配引用类型吗?
抱歉草率的图像编辑。