zoukankan      html  css  js  c++  java
  • copy deepcopy辨析

    copy deepcopy讲的是复制源对象的改变对copy出来的对象的影响:
    我们寻常意义的复制就是深复制,即将被复制对象完全再复制一遍作为独立的新个体单独存在。
    所以改变原有被复制对象不会对已经复制出来的新对象产生影响。 
     
    而浅复制并不会产生一个独立的对象单独存在,他只是将原有的数据块打上一个新标签,
    所以当其中一个标签被改变的时候,数据块就会发生变化,另一个标签也会随之改变。这就和我们寻常意义上的复制有所不同了。
     
    对于简单的 object,用 shallow copy 和 deep copy 没区别,也就是说copy的对象中没有字典、列表类型的子对象
    复杂的 object, 如 list 中套着 list 的情况,shallow copy 中的 子list,并未从原 object 真的「独立」出来。也就是说,
    如果你改变原 object 的子 list 中的一个元素,你的 copy 就会跟着一起变。这跟我们直觉上对「复制」的理解不同。
    看下面这个例子,就一目了然了
  • 相关阅读:
    线性dp 打鼹鼠
    区间dp 能量项链 洛谷p1063
    洛谷 CF1012C Hills (动态规划)
    交作业了 动态规划 木棍加工
    最短路之Floyd
    最小生成树
    寒假集训并查集初级版
    【倍增DP】——保卫王国
    bootstrap四部分概述
    zrender初识
  • 原文地址:https://www.cnblogs.com/chandb/p/7401054.html
Copyright © 2011-2022 走看看