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


一、赋值

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

 

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

 

 二、浅拷贝

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

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

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

举个简单例子:

 

 三、深拷贝

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM