zoukankan      html  css  js  c++  java
  • 深复制与浅复制

         深复制和浅复制都是拷贝一个对象,既然都是拷贝二者有什么不同呢?我们来仔细分析一下。

         我们在D盘中建立一个表格,每次从D盘中找回很麻烦,怎么才能省事呢?在桌面创建一个快捷方式,这样就可以很方便的打开了,这种方式称为浅复制,如果进入D盘中改变数据,则用快捷方式打开后数据也会发生改变。

         还有一种方式,直接在桌面上Copy一份该表,这样对表的操作不会影响到另一个表中的数据,这称为深复制。

    下面以图来详细说明二者的不同:

        【浅复制】

              

         如上图所示,Copy2含有原来的对象相同的值,但是仍然指向同一个引用,所以改变值后,复制出来的值都会发生改变。这只是简单的赋值。

       【深复制】

             

        而深复制则会复制引用,动态地给对象分配了一个空间,当改变一个值时,不会对另一个空间中的值有影响。

        深复制和浅复制都是Copy一个对象,当我们只需要传值时可以直接应用浅复制,但当我们需要把复制的对象都复制一遍,就要采用深复制。



  • 相关阅读:
    - 错误笔记
    只是一个没有人知道的蒟蒻
    省选前模板复习
    数学知识小结#1
    写在NOIP2018后
    Atcoder&CodeForces杂题11.7
    Atcoder&CodeForces杂题11.6
    [NOIP11.1模拟赛]补番报告
    [JZOJ5281]钦点题解--瞎搞+链表
    [JZOJ5280]膜法师题解--思维+前缀和
  • 原文地址:https://www.cnblogs.com/zsswpb/p/5771669.html
Copyright © 2011-2022 走看看