我正在为一些 C 库编写包装器。是否可以将 UnsafePointer 用于不可变结构?对于可变结构,这不是问题:
func Foo_get(ptr : UnsafePointer<Foo>) {
//does not mutate
}
struct Foo {
//big data
mutating func get1() { //inconvenient
Foo_get(&self)
}
func get2() { //unnecessary copy
var copy = self
Foo_get(©)
}
}
但这两种解决方案都不理想。