首页 > 其他 > 详细

赋值、浅拷贝和深拷贝的区别?

时间:2020-07-12 13:59:45      阅读:78      评论:0      收藏:0      [点我收藏+]

一、赋值

赋值是一个指向引用的操作,它指向的是同一个对象,举个例子:

技术分享图片

 

对blist操作,alist也会发生变化:

技术分享图片

 

 二、浅拷贝

浅拷贝对于单层列表来说,没有区别;但是对于多层列表来说:

1.可以拷贝出父级列表,父级列表与源数据不是对一个对象,物理地址不一样;

2.拷贝出的子列表,字列表与源数据是同一对象,物理地址一样,换言之,拷贝的不够彻底;

举个简单例子:

技术分享图片

 

 三、深拷贝

深拷贝相对于浅拷贝来说,就是一种很彻底的拷贝,不管是父列表还是子列表,都是一个新的对象,与源数据不是一个,物理地址不同。

赋值、浅拷贝和深拷贝的区别?

原文:https://www.cnblogs.com/qiaoyue01/p/13287897.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!