关于深拷贝与浅拷贝的区别

发布时间 2023-12-13 11:39:59作者: 脱离低级趣味

简而言之:

深浅拷贝的区别关键在于拷贝的对象类型是否可变。

我们可以总结出以下三条规则:

  • 对于可变对象来说,深拷贝和浅拷贝都会开辟新地址,完成对象的拷贝
  • 而对于不可变对象来说,深浅拷贝都不会开辟新地址,只是建立引用关联
    ,等价于赋值
  • 对于复合对象来说,浅拷贝只考虑最外层的类型,复合类型数据中的元
    素仍为引用关系;而深拷贝对复合对象递归应用前两条规则