我有一个将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]
我相信没有人比另一个更安全,事实上,对于我正在做的事情,第二种方法更有效(当然也更简单)。
我是对的吗?
答案 0 :(得分:1)
两者都不安全,你仍然不安全地访问内存地址,没有编译器保护。
但要小心,因为在使用pointArray
convert