【发布时间】:2018-05-09 19:36:28
【问题描述】:
我试图了解值和引用类型之间的区别。现在我想使用苹果指南中的功能:
func swapTwoInts(_ a: inout Int, _ b: inout Int) {
let temporaryA = a
a = b
b = temporaryA
}
如果我想使用这个函数,我会写这段代码
swapTwoInts{&firstIntStruct, &secondIntStruct}
我知道必须把这个函数引用类型放进去,但是Int是一个值类型,所以我们用&。
另一方面,当我尝试在交换函数中将 Int 更改为我的类时,我还必须在类的实例之前编写 &。
如果它已经是参考,为什么我必须这样做?
【问题讨论】: