关于深拷贝与浅拷贝的区别
简而言之:
深浅拷贝的区别关键在于拷贝的对象类型是否可变。
我们可以总结出以下三条规则:
- 对于可变对象来说,深拷贝和浅拷贝都会开辟新地址,完成对象的拷贝
- 而对于不可变对象来说,深浅拷贝都不会开辟新地址,只是建立引用关联
,等价于赋值- 对于复合对象来说,浅拷贝只考虑最外层的类型,复合类型数据中的元
素仍为引用关系;而深拷贝对复合对象会递归应用前两条规则
你的时间用在哪里决定你成为一个什么样的人。
深浅拷贝的区别关键在于拷贝的对象类型是否可变。
我们可以总结出以下三条规则:
- 对于可变对象来说,深拷贝和浅拷贝都会开辟新地址,完成对象的拷贝
- 而对于不可变对象来说,深浅拷贝都不会开辟新地址,只是建立引用关联
,等价于赋值- 对于复合对象来说,浅拷贝只考虑最外层的类型,复合类型数据中的元
素仍为引用关系;而深拷贝对复合对象会递归应用前两条规则