
let ptr = UnsafeMutablePointer< Int> .allocate(capacity:1)
ptr.pointee = 1
UnsafeMutablePointer是一个结构,但它声明了 public struct UnsafeMutablePointer<Pointee> : StrIDeable,Hashable { public var pointee: Pointee { get nonmutating set } public subscript(i: Int) -> Pointee { get nonmutating set }} 这里的“非突变集”意味着设置属性不会发生变异
指针变量本身的状态.
因此,即使ptr,也可以为ptr.pointee分配一个新值
是一个常量,下标setter也是如此:
let ptr = UnsafeMutablePointer<Int>.allocate(capacity:1)ptr.pointee = 1ptr[0] = 2总结
以上是内存溢出为你收集整理的swift – 为什么let声明的结构可以改变?全部内容,希望文章能够帮你解决swift – 为什么let声明的结构可以改变?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)