浅拷贝与深拷贝的区别:是否真正获取一个对象的实体,而不是引用。
浅拷贝(shallowCopy):增加了一个指向已存在的内存地址的指针。
深拷贝(deepCopy):增加了一个指针,并且申请了一个新的地址。
对A进行拷贝得到B。
现在对A进行修改,如果B变了,那么这是一个浅拷贝,只增加了一个指向已存在的内存地址的指针。
如果B没变,那么这是一个深拷贝,增加了一个指针,并且申请了一个新的地址。
使用深拷贝的情况下,释放内存的时候不会因为出现浅拷贝时释放同一个内存的错误。
参考网址:https://www.cnblogs.com/williamjie/p/11192895.html
原文:https://www.cnblogs.com/pamela71/p/12634326.html