深拷贝与浅拷贝 简单理解
程序开发
2023-09-02 19:16:07
说下个人理解,若有误还请指正:
深拷贝:拷的彻底,拷贝后的修改,原来的不变
浅拷贝:拷贝之后的数据进行修改,原来的数据也发生了变化
问题1:先看下方代码,请问输出多少?
是的,输出是2,刚开始有些诧异,修改的是b的值,a居然也发生了变化
引入了浅拷贝的概念,因为ab为实例对象,b = a 此时是b浅拷贝了a
b变化, a也跟着变化; a变化, b也跟着变化。
继续,此时 b的id=3
进入调试查看,共用的是同一个地址,因此ab会互相进行更改
如果此时再来一个c
没错是把a 浅拷贝了 c , 那么此时 b 的id值是多少呢?
答案是 3 没有发生变化 ,这是 a 的指向地址变了
标签:
相关文章
-
无相关信息