我的对象是复制的内存还是指向原始对象的指针';s的内存
本文关键字:内存 对象 指针 复制 我的 原始 | 更新日期: 2023-09-27 18:30:09
如果这个问题看起来很奇怪,我真的不知道该怎么说。因此,我不确定这个问题以前是否被问过。
拿这段代码来说:
Object obj = new Object();
Object obj2;
obj2 = obj;
所以我的问题是:
当我将obj
分配给obj2
时,obj2
是指向obj
的内存,还是运行时正在分配与obj
的内存相同的新内存块?
谢谢,Ro.
obj2
引用了obj
指向的同一对象。由于它们指向同一对象,对obj2
的修改"反映"在obj
中。
这里有一个简单的例子来说明它是一个引用,而不是一个复制
public class ClassObject
{
public int entier;
public ClassObject(int p_Initial)
{
this.entier = p_Initial;
}
}
ClassObject obj1 = new ClassObject(2);
Console.WriteLine(obj1.entier); ==> Console obj1.entier = 2
ClassObject obj2 = obj1;
obj2.entier = 5;
Console.WriteLine(obj1.entier); ==> Console obj1.entier = 5
Console.WriteLine(obj2.entier); ==> Console obj2.entier = 5