黑马程序员技术交流社区
标题:
求解深复制和浅复制
[打印本页]
作者:
ch8898163
时间:
2014-10-31 22:34
标题:
求解深复制和浅复制
不要百度上面复制粘贴过来了,很讨人烦了,我又不是憨,想你们能够浅显的说一下,好让我知道。就是看了不懂才问的
作者:
dream静
时间:
2014-11-1 01:21
你这都学到哪里去了?
作者:
JAH562
时间:
2014-11-1 02:50
copy语法
深复制:指针指向两个不不同的对象 源对象计数器不变 新的对象计数器加1
浅复制 :指针指向两个相同的对象 返回源对象 计数器加1 (只有不变 copy不变的一种情况,别的拷贝都是深复制 )
作者:
keep_flying
时间:
2014-11-1 07:56
楼上正解,就是要不要增加一个新的东西的对象,是否占用内存空间。
作者:
ch8898163
时间:
2014-11-1 11:18
JAH562 发表于 2014-11-1 02:50
copy语法
深复制:指针指向两个不不同的对象 源对象计数器不变 新的对象计数器加1
浅复制 :指针指向两个相 ...
那内存呢,指针呢,浅复制是指针复制,深复制是完全复制,那么这些都是针对于COPY说的还是其他也回有区分的?
作者:
励志入黑马
时间:
2014-11-1 11:30
同求解释
作者:
JAH562
时间:
2014-11-6 00:07
不必搞得那么复杂 真正用到的不多
作者:
doudou33420
时间:
2014-11-6 04:12
简单的说
浅拷贝是这样的: Person *p = [Person alloc]init]; ----------- Person*p1 = p;
深拷贝是这样的: Person *p = [Person alloc]init]; Person *p1 = [Person alloc]init]; p,p1属性相同
我也是一知半解 你作参考 有错请纠正
作者:
qiusiyu
时间:
2014-11-6 08:20
楼上解释的很形象。
浅拷贝: Person *p = [Person alloc]init]; // 相当于 Person*p1 = p;指针指向的是一个刚刚被创建出来,已经存在的,内存。
深拷贝: Person *p = [Person alloc]init]; //相当于 Person *p1 = [Person alloc]init]; 我们又 创建了一个新 的内存,指针指向的是这个新的内存。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2