当我尝试使用`thecopy:= object`而不是object.Clone()复制对象时会发生什么?

时间:2019-05-31 23:45:40

标签: autohotkey

thearray := [6,77,4,3,66,11]
thecopy := thearray
MsgBox % thecopy.Length() ; 6 
thearray := function(thearray)
MsgBox % thecopy.Length() ; 0
MsgBox % thearray.Length() ; 6

为什么通过函数更改数组会导致副本“损坏”?我的猜测:函数改变了数组。因此,该副本对'thearray'所在的同一数组的某种引用(?)无效或某种原因。这是思考这个问题的正确方法吗?我是这个参考资料的新手,无论它是什么。

顺便说一句,如果在第二行的末尾添加了.Clone(),该副本将保持不变。

0 个答案:

没有答案