gpt4 book ai didi

swift - 这些指令之间有什么区别吗?

转载 作者:行者123 更新时间:2023-11-30 10:02:55 25 4
gpt4 key购买 nike

我有一个函数可以转换 UnsafeMutablePointer<T>[T]像这样:

func convert<T>(pointer:UnsafeMutablePointer<T>, count:Int) -> [T] {
let buffer = UnsafeMutableBufferPointer(start: pointer, count: count)
return Array(buffer)
}

如果我有:

var pointArray:UnsafeMutablePointer<CGPoint> // A 10 element array

这样做有什么区别:

convert(pointArray, count:10)[0]

或者

pointArray[0]  

我相信没有人比另一种更安全,实际上,对于我正在做的事情,第二种方法更有效(当然也更简单)。

我说得对吗?

最佳答案

两者都不安全,从根本上来说,您仍然在不安全地访问内存地址,没有编译器保护。

但是请小心,因为在使用 convert 后您仍然需要手动释放 pointArray

关于swift - 这些指令之间有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37469324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com