读书人

关于深拷贝与浅拷贝的有关问题

发布时间: 2012-01-22 22:38:43 作者: rapoo

关于深拷贝与浅拷贝的问题
比如,我写个

A a = (A)b;

这样a就是浅拷贝,直接引用的b的内存,是不是这个意思?

而A a = new A();
a = (A)b;
这样就是深拷贝,因有自己的内存,是不是?

但如果深拷贝的话,自定义对象A类得自己实现 = 的逻辑,实现IClone接口,是不是?

我的概念很乱,请高手指点


[解决办法]
不是的,

浅拷贝是拷贝对象的值类型字段,而引用性字段拷贝的只是引用

深拷贝则是整个引用树整个拷贝
[解决办法]
这么说吧深拷贝后就有了两个互不关联的对象,相同的只是它们的字段取值一样
浅拷贝 假设类没有引用字段,结果同上,如果有 ,那么引用字段拷贝的只是引用,就是说两个对象的引用字段指向的是同一个对象
[解决办法]
A a=new A();
A aa=a.clone();
这就是浅拷贝
[解决办法]
丫,LZ 哪里翻出来的这个答案呢?

读书人网 >C#

热点推荐