//Swift 打印内存地址
/*
参数泛型AnyObject可以改成Any,这样就可以打印struct,enum等类型的变量。
对于Int,等类型,上面的方法不生效,它会打印出值本身,比如var a = 15;会打印F。
*/
func address<T: AnyObject>(o: T) -> String {
return String.init(format: "%018p", unsafeBitCast(o, to: Int.self))
}
/*
传参的时候也要取地址
address(&a)
*/
func address(o: UnsafeRawPointer) -> String {
return String.init(format: "%018p", unsafeBitCast(o, to: Int.self))
}
更新一个知识点:lldb查看swift对象内存结构的方法
fr v -R foo