美文网首页
面试题:Strong和Copy的区别

面试题:Strong和Copy的区别

作者: 常在士心 | 来源:发表于2021-05-16 10:12 被阅读0次

什么是浅拷贝和深拷贝

浅拷贝:并不拷贝对象本身,只是对指向对象的指针进行拷贝,改变原对象的属性会影响新的对象,内存中本质上还是一个对象。
深拷贝:直接拷贝生成一个新对象,改变原对象的属性不会影响新的对象,在内存中出现了两个独立的对象本身。

1、浅拷贝Strong(指针copy)

1)相当于对指向对象的指针进行复制,产生一个新的指向对象的指针;

2)就有两个指针指向同一个对象;

3)这个对象销毁后,两个指针都应置空;

4)对象引用计数+1

2、深拷贝Copy(内容copy)

深copy不仅会复制对象本身,而且会递归复制每个指针类型的实例变量,直到两个对象没有任何公共的部分。

1)相当于对对象进行复制,产生一个新的对象;

2)就有两个指针分别指向两个对象;

3)当其中一个对象改变或者销毁后,另一个对象不受影响;

4)源对象引用计数不变,副本计数器设置为1

相关文章

网友评论

      本文标题:面试题:Strong和Copy的区别

      本文链接:https://www.haomeiwen.com/subject/hvsxjltx.html