gpt4 book ai didi

arrays - 检查两个数组是否共享相同的元素

转载 作者:行者123 更新时间:2023-11-28 05:35:03 25 4
gpt4 key购买 nike

我已经在 .playgraound 中编写了这段代码

var a = [1, 2, 3]
var b = a
var c = a

if b === c
{
"b and c still share the same array elements."
}
else
{
"b and c now refer to two independent sets of array elements."
}

结果是“b 和 c 现在指的是两组独立的数组元素”但是在“The Swift Programming Language”中 Apple 说

The example below uses the “identical to” operator (===) to check whether b and c still share the same array elements.

你能解释一下为什么它们不同吗?

最佳答案

书上说的原因

The result is "b and c now refer to two independent sets of array elements"

是本书前面的代码停止了 bc 之间的数组共享,这是通过将 a 赋值给它们而建立的:

b.unshare() // Page 306, line 3

数组 a 已从 bc 隐式取消共享,方法是在第 305 页第 1 行向它附加一个元素。

使用您显示的代码 “b 和 c 仍然共享相同的数组元素。” 消息将被打印。

关于arrays - 检查两个数组是否共享相同的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24109957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com