首先,我们定义了一个对象 ,其中包含了一个名为 “rust” 的字符串、一个年龄为 12 的数字,以及一个内部对象 ,包含了一个 id 为 1 的数字。接着,我们进行了浅拷贝和深拷贝操作,并对拷贝后的对象进行了一系列修改操作。
- 浅拷贝:通过 实现,创建了 对象。当修改 中栈存储数据字段时(例如 ),原始对象 不受影响,因为 和 的栈存储数据是相互独立的。但是当修改 中的堆存储数据字段(例如 )时,原始对象 也会受到影响,因为 和 共享相同的堆存储数据。
- 深拷贝:通过 实现,创建了 对象。深拷贝会创建一个完全独立的对象,包括栈存储数据和堆存储数据,因此无论对 进行怎样的修改,都不会影响原始对象 。
因此,通过打印上述代码中输出的 JSON 字符串,可以看到对 、 和 进行不同修改所产生的影响。

浅拷贝堆上数据会共享,栈上数据不共享
深拷贝后的对象和原对象是两个不同的对象,所有数据不共享。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/164020.html