浅拷贝:是内存地址拷贝,即是目标对象 拷贝的是源对象的 内存地址,因此两个对象指向同一片内存,里面的内容是一样的,不管修改谁的内容,另一个都会跟着变化。
深拷贝:是源对象内容的拷贝,内存空间是自主分配的,目标对象 和 源对象 指向的不是同一片内存。虽然里面的内容一样,但是修改了一个对象的内容,另一个不会跟着变化。
1 swift中类 class 是浅拷贝 ,引用拷贝 。 下面通过代码来理解:
2 swift中类 struct 是深拷贝 ,值拷贝 。下面通过代码来理解:
浅拷贝:是内存地址拷贝,即是目标对象 拷贝的是源对象的 内存地址,因此两个对象指向同一片内存,里面的内容是一样的,不管修改谁的内容,另一个都会跟着变化。
深拷贝:是源对象内容的拷贝,内存空间是自主分配的,目标对象 和 源对象 指向的不是同一片内存。虽然里面的内容一样,但是修改了一个对象的内容,另一个不会跟着变化。
1 swift中类 class 是浅拷贝 ,引用拷贝 。 下面通过代码来理解:
2 swift中类 struct 是深拷贝 ,值拷贝 。下面通过代码来理解: