-4

我是 Swift 新手,我正在尝试学习“inout”关键字的概念。我在“快速编程语言 2.1”中看到了这段代码。我的问题是,为什么“swap(&someInt, &anotherInt)”中有一个“&”。它代表什么?它的作用是什么?

func swapTwoInts(inout a: Int, inout _ b: Int){
    let temporaryA = a
    a = b
    b = temporaryA
}

var someInt = 3
var anotherInt = 107
swap(&someInt, &anotherInt)

print("someInt is now \(someInt) and anotherInt is now \(anotherInt)")
4

1 回答 1

1

就像在 C++ 中通过引用传递一样,代码调用位中的 & 号只是告诉编译器您授予函数swapTwoInts更改someInt和的权限anotherInt。如果您没有将 & 号放在那里,则代码将无法编译。

于 2016-02-17T06:45:07.397 回答