深拷贝和浅拷贝

在有指针的情况下,浅拷贝只是增加了一个指针指向已经存在的内存,而深拷贝就是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存,采用深拷贝的情况下,释放内存的时候就不会出现在浅拷贝时重复释放同一内存的错误!

浅复制:浅拷贝,指针拷贝,shallow copy

不产生新的对象,源对象和副本对象是同一对象

源对象(即副本对象)引用计数器+1,相当于做了一次retain

深复制:深拷贝,内容拷贝,deep copy

产生新的对象,源对象和副本对象不是同一个对象

源对象引用计数器不变,副本对象计数器为1(因为是新的)

你可能感兴趣的:(深拷贝和浅拷贝)