我什至不确定我在这里使用的术语是否正确,但如果我有这样的代码:(在 C# 中)
Object object1;
Object object2;
object1 = new Object();
object2 = object1;
object2 会占用与 object1 一样多的空间,还是只指向在 object1 处创建的实例?
如果我没有使用正确的术语来正确表达自己,请务必告诉我。
最佳答案
一个引用只占用一个单词的内存。在 32 位应用程序中是 32 位,在 64 位应用程序中是 64 位,等等。
两个变量只占用一个字的内存,因为它们都是引用类型。在某个地方还有一定数量的内存,无论一个实际对象实例需要多少内存。您程序中的这两个变量恰好包含对该对象的引用,但即使它们不包含,它们也会占用相同数量的空间。 (毕竟,空引用占用的空间与有效引用相同。)
关于c# - 引用占用多少空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22487847/