通过引用访问变量

克里斯·马歇尔

我正在尝试找出在Swift中引用简单类型的基本方法。

在C语言中,这没有问题:

int a = 42;
int* refA = &a;
*refA = 43;
// At this point, a is 43

在Swift中,看来我做不到。

var a:Int = 42

println ( a )

//    var aRef:Int = &a       // Nope.
//    var aRef:Int& = &a      // Nah.
//    inout var:Int aRef = &a // Nyet
//    var inout:Int aRef = &a // Non
//    var aRef:Int* = &a      // What are you, stupid, or stubborn?
//
//    aRef = 43               // If any of the above worked, I could do this.

println ( a )         // How can I get this to print "43"?

我在文档中找不到任何可以执行此操作的内容。我知道inout作为函数参数修饰符,但我希望能够在函数之外执行此操作。

我要这样做有一些基本原因。声明所有内容的类会带来一些开销(主要是计划和编写,而不是执行时间)。

吉多·亨德里克斯(Guido Hendriks)

在Swift中,值不能通过引用传递(inout参数除外),这是使它成为“无C的Object-C”的原因之一。您可能不得不考虑语言的可能性和限制来重新考虑您的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章