码迷,mamicode.com
首页 > 其他好文 > 详细

浅层复本

时间:2019-09-16 14:26:57      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:参数   不同   https   user   因此   好用   表示   object   CND   

摘要:浅层复本


MSDN常常会出一些很难懂的名词,只好用实例来体会!!
很想画图内存表示图,无奈不知道有什么工具比较好画。@@a

?
Arr_1[1] 重新给值前与Arr_2[1]所参考的是同一对象,因字符串特性的关系,给值后所参考的对象就不一样了。

Clone 方法会建立一个浅层复本,所以代表 Arr_1 与 Arr_2 变量所参的数组空间不同,
但二个数组中的元素所参考的对象是相同的~~(听起来还是很抽象吧>"<)
再看一个范例:


二数组中元素是存放 Test_1 类的对象,因此Arr_3 与 Arr_4 所参考的数组空间虽然不同,
但数组中元素所参数的对象是相同的 ( Arr_3[1] 与 Arr_4[1] 所参考的是同一对象)

?
Arr_6 = Arr_5 这种给值方式不同于 Clone,在内存中只有一个数组空间 ,
Arr_5 与 Arr_6 所参考的是同一数组空间

说完了~"~
还是很不好懂吧,如果有图就好多了,发挥想像力吧

(ps:深层复本,就代表完全分离,2个变量之间没有任何的交叉参考)

技术图片

原文:大专栏  浅层复本


浅层复本

标签:参数   不同   https   user   因此   好用   表示   object   CND   

原文地址:https://www.cnblogs.com/petewell/p/11526702.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!