日期:2014-05-17  浏览次数:20973 次

求教一个关于 深拷贝的问题,深复制有没有什么注意事项?
我知道如何实现深复制,
但是看一本书上说,有的类不能实现深复制,会引起错误,
想知道什么样子的类可以执行深复制,比如我自己定义的类如果深复制,有没有什么要注意的地方

或者有的类结构比较复杂,他有很多成员也是引用类型的,这样可以执行深复制吗

------解决方案--------------------
有时候,“深拷贝”是不行的。

最简单的,比如一个Form对象,它对应的是操作系统中的一个窗体。你仅仅去复制那些托管的字段,是没有办法再造出一个窗体的。再比如,你的一个对象的一个字段记录的是内存的地址(我说的是非托管的内存),你单单拷贝它,那么新的对象还是指向这个地址(或者你让它指向哪里?)。