卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

深copy和淺copy區(qū)別 什么是深拷貝和淺拷貝?

什么是深拷貝和淺拷貝?簡單地說,假設(shè)B復(fù)制A。當(dāng)A被修改時,看看B是否會改變。如果B隨它改變,就意味著它是一個淺拷貝。如果a不改變,那就是深度復(fù)制和自我支撐。在本文中,我們還將簡要討論堆棧、基本數(shù)據(jù)類

什么是深拷貝和淺拷貝?

簡單地說,假設(shè)B復(fù)制A。當(dāng)A被修改時,看看B是否會改變。如果B隨它改變,就意味著它是一個淺拷貝。如果a不改變,那就是深度復(fù)制和自我支撐。在本文中,我們還將簡要討論堆棧、基本數(shù)據(jù)類型和參考數(shù)據(jù)類型,因為這些概念可以更好地理解深度復(fù)制和淺層復(fù)制。讓我們以一個淺拷貝為例:leta=[0,1,2,3,4],B=aconole.log文件(a===b)a[0]=1控制臺.log(a,b)嗯?明明B抄了a,為什么要修改a陣,B陣也變了,在這里我不禁想。這里,我們要介紹基本數(shù)據(jù)類型和參考數(shù)據(jù)類型的概念。采訪中常問,基本數(shù)據(jù)類型有哪些,數(shù)字、字符串、布爾、空、未定義五大類。引用數(shù)據(jù)類型(object class)包括object、array、date等。這兩種類型的數(shù)據(jù)存儲如下:a.基本類型-名稱值存儲在堆棧內(nèi)存中,例如,leta=1。復(fù)制B=a時,堆棧內(nèi)存將打開一個新內(nèi)存。例如,此時修改a=2時,不會影響B(tài),因為B已經(jīng)消耗了自己的能量,翅膀很硬,不受a的影響。當(dāng)然,leta=1,B=a。雖然B不受a的影響,但它不是深度復(fù)制,因為深度復(fù)制本身只用于更復(fù)雜的對象類型數(shù)據(jù)。b、 引用數(shù)據(jù)類型名稱存在于堆棧內(nèi)存中,值存在于堆內(nèi)存中,但堆棧內(nèi)存將為堆內(nèi)存中的值提供引用地址。讓我們畫一幅上面淺層復(fù)制示例的圖:當(dāng)B=a被復(fù)制時,實際復(fù)制的是a的引用地址,而不是堆中的值。當(dāng)我們在a[0]=1時修改數(shù)組時,由于a和B指向同一個地址,自然B也會受到影響,這就是所謂的淺拷貝。然后,如果在堆內(nèi)存中創(chuàng)建一個新內(nèi)存來存儲B的值,就像基本類型一樣,它將在開始時達(dá)到深度復(fù)制的效果

1。深拷貝和淺拷貝是源對象的拷貝,占用不同的內(nèi)存空間。

2. 不可變類型的對象對深副本和淺副本沒有影響,并且最終地址值和值是相等的。

3. 變量類型:

=shallow copy:等值,等地址

copy shallow copy:等值,不等地址

deep copy:等值,不等地址

你好,shallow copy(shadow clone):只復(fù)制對象的基本類型,對象類型,仍屬于原始引用deep copy(deep clone):不復(fù)制基本類型類的對象,還可以復(fù)制原始對象中的對象。也就是說,它完全是由新對象生成的。我希望它能幫助你。