之前一直认为浅拷贝是拷贝内容的第一层,但是不开辟内存,只是增加新的指向原来的内容;深拷贝是拷贝是拷贝每一层并开辟内存。
其实这个是不严谨的不正确的。
从以上可以看出,浅拷贝中当时可变类型的时候,内存是发生了变化的,也就是开辟了内存,但是不可变类型的时候内存地址不发生变化的。
总结:浅拷贝是对数据的内容进行拷贝,对不可变类型创建指向引用,可变类型开辟内存存储,但是只是拷贝第一层。深拷贝是拷贝数据的每一层的可变类型并开辟内存,但是不可变类型只是创建引用。
原文地址:https://www.cnblogs.com/blackball9/p/11529806.html
时间: 2024-10-09 10:04:32