中易网

浅拷贝与深拷贝的区别

答案:1  悬赏:30  
解决时间 2021-01-16 10:17
  • 提问者网友:喧嚣尘世
  • 2021-01-15 23:13
浅拷贝与深拷贝的区别
最佳答案
  • 二级知识专家网友:由着我着迷
  • 2021-01-15 23:40
一.深拷贝
源对象和副本对象是不一样的两个对象。
源对象引用计数不变,副本对象计数器为1(因为是新产生的)。
至少有一层是对象复制。

二.浅拷贝

源对象和副本对象是同样的对象。
源对象(副本对象)引入计数器+1,等同于做一次retain的操作。
本质:没有生产新的对象。
从整体上来讲,深拷贝和浅拷贝的不同地方主要还是在于指针(或与指针)方面,浅拷贝仅仅是简易的将源对象(这里是指广义的对象,不只是单指类的实例)的指针赋值给目标对象,对目标指针的操作就是对源对象的操作,因此在大部分情况下,目标对象析构(或跳出其可见域)之后,源对象相关部分也就一同析构了。而深拷贝,是为目标对象重新分配空间,这样就能够和源对象的操作区分。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息