對象的深拷貝實(shí)現(xiàn)方法 淺拷貝與深拷貝的區(qū)別是什么?
淺拷貝與深拷貝的區(qū)別是什么?1. 深拷貝和淺拷貝都是源對象的拷貝,占用不同的內(nèi)存空間。2. 不可變類型的對象對深副本和淺副本沒有影響,并且最終地址值和值是相等的。3. 變量類型:=shallow co
淺拷貝與深拷貝的區(qū)別是什么?
1. 深拷貝和淺拷貝都是源對象的拷貝,占用不同的內(nèi)存空間。
2. 不可變類型的對象對深副本和淺副本沒有影響,并且最終地址值和值是相等的。
3. 變量類型:
=shallow copy:等值,等地址
copy shallow copy:等值,不等地址
deep copy:等值,不等地址
你好,shallow copy(shadow clone):只復(fù)制對象的基本類型,對象類型,仍屬于原始引用deep copy(deep clone):不復(fù)制基本類型類的對象,還可以復(fù)制原始對象中的對象。也就是說,它完全是由新對象生成的。我希望它能幫助你。
淺拷貝與深拷貝的區(qū)別是什么?
淺復(fù)制意味著源對象和復(fù)制對象共享同一實(shí)體,只是引用的變量不同(名稱不同)。對其中一個(gè)對象的更改會影響另一個(gè)對象。例如,一個(gè)人的名字起初是張三,后來改成了李四,但卻是同一個(gè)人。無論是張三缺胳膊缺腿,還是李四缺胳膊缺腿,都是同一個(gè)人的厄運(yùn)。深度復(fù)制是指源對象和復(fù)制對象相互獨(dú)立,任何對象的改變都不會影響到另一個(gè)對象。例如,一個(gè)叫張三的人被用來克隆另一個(gè)叫李四的人。不管張三缺胳膊缺腿,李四缺胳膊缺腿,都不會影響別人。典型的是值對象,例如預(yù)定義的類型int32、double、struct、enum等。