深拷贝与浅拷贝 简单理解

说下个人理解,若有误还请指正:

深拷贝:拷的彻底,拷贝后的修改,原来的不变

浅拷贝:拷贝之后的数据进行修改,原来的数据也发生了变化

问题1:先看下方代码,请问输出多少?

 

 是的,输出是2,刚开始有些诧异,修改的是b的值,a居然也发生了变化

引入了浅拷贝的概念,因为ab为实例对象,b = a 此时是b浅拷贝了a  

b变化, a也跟着变化; a变化,  b也跟着变化。

继续,此时 b的id=3

进入调试查看,共用的是同一个地址,因此ab会互相进行更改

 

 如果此时再来一个c

 

 没错是把a 浅拷贝了 c , 那么此时 b 的id值是多少呢? 

答案是 3 没有发生变化 ,这是 a 的指向地址变了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值