假设您有一个指针指向对象1的对象。
我理解如果对象1不是指针,则复制对象1说对象2,并创建一个指向对象2的新指针。指针b然后放在副本中原始对象。
这是深层复制的工作原理。
如果对象1是指向另一个对象的指针怎么办?您是否为这两个对象制作了深层副本的副本?或者只是"第一级"对象
基本上,在执行真正的深拷贝时你有多深?我假设你尽可能深入并复制一切,但我想仔细检查。
感谢。
答案 0 :(得分:0)
原则上,真正的"深拷贝"将复制所有内容 - 递归地制作任何和所有嵌套对象的深层副本。
然而,这可能并不总是实际或可取的。这取决于您的具体情况:
如果您的数据结构包含多个周期或多次引用相同的对象,您将需要以某种方式跟踪和处理此问题,否则复制将继续到无穷大
有些物品可能是安全的"在没有创建副本的情况下通过指针引用(例如,如果它们是不可变的),因此复制它们可能是浪费的。您可能希望特别将其从复制过程中免除