Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 为什么withUnsafePointer使用新指针(或不同的指针)?_Swift - Fatal编程技术网

Swift 为什么withUnsafePointer使用新指针(或不同的指针)?

Swift 为什么withUnsafePointer使用新指针(或不同的指针)?,swift,Swift,考虑以下几点: class MyClass { private static let c = MyClass() func shared() -> MyClass { return MyClass.c } } var a = MyClass().shared() var b = MyClass().shared() let message = a === b ? "same instance" : "different instance" pr

考虑以下几点:

class MyClass {
    private static let c = MyClass()

    func shared() -> MyClass {
        return MyClass.c
    }
}

var a = MyClass().shared()
var b = MyClass().shared()

let message = a === b ? "same instance" : "different instance"
print(message) // "same instance"

withUnsafePointer(to: &a) {
    print("a: \($0)") // 0x0000000119dfcc18
}
withUnsafePointer(to: &b) {
    print("a: \($0)") // 0x0000000110abcc20
}

我本以为指针是一样的。为什么指针不同?

相关:相关。是的!重复!谢谢大家!