【发布时间】:2015-05-04 02:02:39
【问题描述】:
我对@987654321@ 类型的变量有疑问。
我有这个工作代码要分配并在 Swift 中将所有 UInt8 数组设置为零。var bits = UnsafeMutablePointer<UInt8>(calloc(width * height, 8))
问题是我不想使用 calloc 方法。我有这个代码来分配数组var bits = UnsafeMutablePointer<UInt8>.alloc(width * height)
但我找不到将所有内存设置为零的方法。
我知道我可以做到这一点,但我认为这不是最好的方法。
for index in 0..< (width * height) {
bits[index] = 0
}
【问题讨论】:
-
"但我认为这不是最好的方法" 抱歉,你能澄清一下它有什么问题吗?我的意思是,
calloc也必须循环内存,那有什么区别? -
没有错。它可以工作,但我只是在寻找像
memset这样的函数来初始化数组。我用谷歌搜索了几个小时,然后在 Stack Overflow 中搜索,但没有成功。现在我正在使用calloc方法。 -
我想你可以说
bits.initializeFrom(Array<UInt8>(count: width * height, repeatedValue: 0))。 -
@matt。是的,这就是我一直在寻找的。这比我想象的要容易。
-
好吧,如果你真的喜欢它,我会给它作为答案。 :)
标签: swift pointers allocation