国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

java淺拷貝和深拷貝的區(qū)別 C 中,什么是深拷貝?什么是淺拷貝?

C 中,什么是深拷貝?什么是淺拷貝?復(fù)制構(gòu)造函數(shù)是復(fù)制一個(gè)類,就像一個(gè)內(nèi)置類型一樣。例如,int a=0int B=a,默認(rèn)的復(fù)制構(gòu)造函數(shù)是淺層復(fù)制。深度復(fù)制和淺層復(fù)制都有類數(shù)據(jù)成員的指針成員或引用

C 中,什么是深拷貝?什么是淺拷貝?

復(fù)制構(gòu)造函數(shù)是復(fù)制一個(gè)類,就像一個(gè)內(nèi)置類型一樣。例如,int a=0int B=a,默認(rèn)的復(fù)制構(gòu)造函數(shù)是淺層復(fù)制。深度復(fù)制和淺層復(fù)制都有類數(shù)據(jù)成員的指針成員或引用成員,例如類*p中的指針成員int。淺層復(fù)制是指在復(fù)制指針時(shí)直接復(fù)制指針,即兩個(gè)類的指針p指向一個(gè)內(nèi)存單元,而深度復(fù)制是指復(fù)制指針指向的內(nèi)容使兩個(gè)類的指針成員指向兩個(gè)不同的內(nèi)存單元。請參考c底漆來解決您的問題。

在c中深拷貝與淺拷貝有什么區(qū)別?

一般來說,深拷貝和淺拷貝的區(qū)別主要在于指針(或指針)。淺層復(fù)制只是將源對象的指針(它指的是通用對象,而不僅僅是類的實(shí)例)分配給目標(biāo)對象。目標(biāo)指針的操作是源對象的操作,因此在許多情況下,目標(biāo)對象被銷毀(或跳出),然后源對象的相關(guān)部分也被銷毀。深度復(fù)制是為目標(biāo)對象重新分配空間,它可以從源對象的操作中分離出來。

淺拷貝與深拷貝的區(qū)別是什么?

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

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

3. 變量類型:

=淺拷貝:簡而言之,如果B拷貝a,當(dāng)B修改a時(shí),就會看到B是否改變。如果B也改變了,這意味著它是一個(gè)淺拷貝。如果a沒有改變,它就是一個(gè)深度拷貝。在本文中,我們還將簡要討論堆棧、基本數(shù)據(jù)類型和參考數(shù)據(jù)類型,因?yàn)檫@些概念可以更好地理解深度復(fù)制和淺層復(fù)制。讓我們以一個(gè)淺拷貝為例: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時(shí),堆棧內(nèi)存將打開一個(gè)新內(nèi)存。例如,此時(shí)修改a=2時(shí),不會影響B(tài),因?yàn)锽已經(jīng)消耗了自己的能量,翅膀很硬,不受a的影響。當(dāng)然,leta=1,B=a。雖然B不受a的影響,但它不是深度復(fù)制,因?yàn)樯疃葟?fù)制本身只用于更復(fù)雜的對象類型數(shù)據(jù)。b、 引用數(shù)據(jù)類型名稱存在于堆棧內(nèi)存中,值存在于堆內(nèi)存中,但堆棧內(nèi)存將為堆內(nèi)存中的值提供引用地址。讓我們畫一幅上面淺層復(fù)制示例的圖:當(dāng)B=a被復(fù)制時(shí),實(shí)際復(fù)制的是a的引用地址,而不是堆中的值。當(dāng)我們在a[0]=1時(shí)修改數(shù)組時(shí),由于a和B指向同一個(gè)地址,自然B也會受到影響,這就是所謂的淺拷貝。然后,如果在堆內(nèi)存中創(chuàng)建一個(gè)新的內(nèi)存來存儲B的值,就像基本類型一樣,一開始就會達(dá)到深度復(fù)制的效果

淺復(fù)制意味著源對象和復(fù)制對象共享同一個(gè)實(shí)體,只是引用的變量不同(名稱不同)。對其中一個(gè)對象的更改會影響另一個(gè)對象。例如,一個(gè)人的名字起初是張三,后來改成了李四,但卻是同一個(gè)人。無論是張三缺胳膊缺腿,還是李四缺胳膊缺腿,都是同一個(gè)人的厄運(yùn)。深度復(fù)制是指源對象和復(fù)制對象相互獨(dú)立,任何對象的改變都不會影響到另一個(gè)對象。例如,一個(gè)叫張三的人被用來克隆另一個(gè)叫李四的人。不管張三缺胳膊缺腿,李四缺胳膊缺腿,都不會影響別人。典型的是值對象,例如預(yù)定義的類型int32、double、struct、enum等。