轻松掌握深拷贝和浅拷贝

浅拷贝:

obj2是对obj1的浅拷贝,obj2新建了一个对象,但是obj2对象复制的是obj1的指针,也就是obj1的堆内存地址,而不是复制对象本身。obj1和obj2是共用了内存地址的。

深拷贝:

obj3是对obj1的深拷贝,obj3和obj1不共享内存
因此:

浅拷贝只复制指向某个对象的指针,而不复制对象本身,相当于是新建了一个对象,该对象复制了原对象的指针,新旧对象还是共用一个内存块,

深拷贝是新建一个一模一样的对象,该对象与原对象共享内存,修改新对象也不会影响原对象
注:深拷贝和浅拷贝都是对象拷贝

相关文章:

猜你喜欢
  • 2021-06-07
  • 2022-01-09
  • 2021-10-19
相关资源
相似解决方案