Project1
标题:
关于变量复制问题
[打印本页]
作者:
熊熊烈火雄壮
时间:
2013-4-2 22:08
标题:
关于变量复制问题
本帖最后由 熊熊烈火雄壮 于 2013-4-2 22:54 编辑
想实现A,B两个对象互换
于是这样写了
temp = A
A = B
B = temp
实际效果却不是所想的那样
temp,A实际为同一个对象,并不像C语言里面,只是个临时中间变量
对temp操作的同时,对象A也变动了
想问下,该如何解决这个问题?
作者:
晴兰
时间:
2013-4-2 22:14
提示:
作者被禁止或删除 内容自动屏蔽
作者:
熊熊烈火雄壮
时间:
2013-4-2 22:21
本帖最后由 熊熊烈火雄壮 于 2013-4-2 22:53 编辑
晴兰 发表于 2013-4-2 22:14
首先 第三变量交换法 那个temp不应该再利用
然后 ……用深度复制吧…… A.clone A.dup 或者Marshal.load(Ma ...
还请详细解释下。
第三变量不利用temp的话,那该如何?
是再把temp复制给另外一个变量?
深度复制是以下这么操作吗?
temp1 = Marshal.load(Marshal.dump(A))
temp2 = Marshal.load(Marshal.dump(B))
A = temp2
B = temp1
temp1 = A.clone
temp2 = B.clone
A = temp2
B = temp1
???
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1