匿名回答于2023-09-21 05:07:15
匿名回答于2023-09-17 03:23:58
深拷贝是将一个对象从内存中完整的拷贝一份出来,从堆内存中开辟一个新的区域存放新对象。
区别:浅拷贝基本类型之前互不影响,引用类型其中一个对象改变了地址,就会影响另一个对象;深拷贝
改变新对象不会影响原对象,他们之前互不影响。
匿名回答于2023-09-17 03:27:33
2. 子元素赋值不同:浅拷贝对于原始数据结构中的子元素,只能够复制其引用地址,也就是说多个实例共享相同的子元素,因此对于其中一个实例所做出的修改,也会影响到其他实例;而深拷贝则可以复制所有子元素的值或者引用地址(视情况而定),并保证每一个实例都具有完全相同但独立的内容。
3. 实现方式不同:浅拷贝通常只需要将原始数据结构中各元素的地址赋给新建实例中相应位置即可;而深拷贝需要遍历整个原始数据结构,并为其中每个子元素都分配一个新的内存空间,并将其复制到新建实例中相应位置。
匿名回答于2023-09-17 04:44:50