首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >内存中的&(地址)是Swift中的运算符,还是我正在使用C?

内存中的&(地址)是Swift中的运算符,还是我正在使用C?
EN

Stack Overflow用户
提问于 2016-03-14 15:24:05
回答 1查看 795关注 0票数 3

因此,我正在研究Ales Tsurko伟大的,需要快速转换克里斯亚当森的CoreAudio的例子。然而,我遇到了一些我似乎找不到直接答案的东西。

在这些例子中,有这样的东西:

代码语言:javascript
复制
    var theErr = noErr
    var dictionarySize: UInt32 = 0
    var isWritable: UInt32 = 0
    theErr = AudioFileGetPropertyInfo(
            audiofile, 
            kAudioFilePropertyInfoDictionary, 
            &dictionarySize, 
            &isWritable
    )

我好奇的是'&‘(符号)运算符的用法。

在普通的C族语言中,这指的是变量的内存地址,这里似乎就是这样做的。

我感到困惑的是,我是在第四行中编写Swift或C代码吗?

我知道您混合了Obj和Swift,但是我在Swift文档中找不到使用&作为内存运算符的任何东西。那么,这种使用是没有文档的,还是如果我暂时走出Swift进入C/Obj与这一行?

谢谢

EN

Stack Overflow用户

回答已采纳

发布于 2016-03-14 15:32:02

来自关于Swift的苹果文档

当函数声明为接受UnsafeMutablePointer参数时,它可以对任何类型的类型接受与UnsafeMutablePointer相同的操作数。 如果您已经声明了类似于此的函数: func takesAMutableVoidPointer(x: UnsafeMutablePointer) { // .} 您可以使用下列任何一种方式来调用它: 变量x: Float = 0.0,y: Int =0 var p: UnsafeMutablePointer = nil,q: UnsafeMutablePointer = nil var a: UnsafeMutablePointer= 1.0,2.0,3.0,b: Int = 1,2,3 takesAMutableVoidPointer(nil) takesAMutableVoidPointer(p) takesAMutableVoidPointer(q) takesAMutableVoidPointer(&x) takesAMutableVoidPointer(&y) takesAMutableVoidPointer(&a) takesAMutableVoidPointer(&b)

这是将一个对象的地址传递给一个函数,并且是本机Swift。

票数 6
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35991492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档