- 博客(1)
- 收藏
- 关注
原创 浅拷贝与深拷贝
深度拷贝与浅度拷贝的区别主要在于有没有为拷贝出的新对象在堆中重新分配一块内存区域。浅度拷贝即直接赋值,拷贝的只是原始对象的引用地址,在堆中仍然共用一块内存。而深度拷贝为新对象在堆中重新分配一块内存,所以对新对象的操作不会影响原始对象。 关于为什么要用深度拷贝,如果要将可变对象和不可变对象相互转换,或者需要操作新对象的时候不影响原始对象,则用深度拷贝。copy-on-write原则就是利用深度拷贝来实现的。 以数组的深度拷贝为例,实现方法很多如下: 1.slice() array.slice(start,en
2020-09-22 20:41:08 86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人