我想获取Swift中常量类型的内存地址。例如,变量看起来像:
我的代码:
var value = 10
withUnsafePointer(to: &value) {
print(" str value \(value) has address: \($0)")
}
答案 0 :(得分:3)
withUnsafePointer(to:,_:)
中有一个variant接受一个非inout参数作为其第一个输入参数。
let immutableValue = 1
withUnsafePointer(to: immutableValue, { pointer -> Void in
print(pointer)
})
正如MartinR所指出的,该指针仅对闭包的调用有效。
还必须注意,对于在编译时已知的值,编译器可能会用该值代替变量,因此在运行时该变量甚至可能不存在于内存中。