• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 34,comments - 2,trackbacks - 0
                拷貝即是通常所說(shuō)的復(fù)制(Copy)或克隆(Clone),對(duì)象的拷貝也就是從現(xiàn)有對(duì)象復(fù)制一個(gè)“一模一樣”的新對(duì)象出來(lái)。雖然都是復(fù)制對(duì)象,但是不同的復(fù)制方法,復(fù)制出來(lái)的新對(duì)象卻并非完全一模一樣,對(duì)象內(nèi)部存在著一些差異。通常的拷貝方法有兩種,即深拷貝和淺拷貝,那二者之間有何區(qū)別呢?
            我的理解是:

            1、深拷貝和淺拷貝之間的區(qū)別在于是否復(fù)制了子對(duì)象。
            2、如果一個(gè)類擁有資源(堆,或者是其它系統(tǒng)資源),,當(dāng)這個(gè)類的對(duì)象發(fā)生復(fù)制過(guò)程的時(shí)候,資源重新分配,這個(gè)過(guò)程就是深拷貝,反之對(duì)象存在資源,但復(fù)制過(guò)程并未復(fù)制資源的情況視為淺拷貝。

            當(dāng)用一個(gè)已初始化過(guò)了的自定義類類型對(duì)象去初始化另一個(gè)新構(gòu)造的對(duì)象的時(shí)候,拷貝構(gòu)造函數(shù)就會(huì)被自動(dòng)調(diào)用。也就是說(shuō),當(dāng)類的對(duì)象需要拷貝時(shí),拷貝構(gòu)造函數(shù)將會(huì)被調(diào)用。以下情況都會(huì)調(diào)用拷貝構(gòu)造函數(shù):
            ①、一個(gè)對(duì)象以值傳遞的方式傳入函數(shù)體:這個(gè)好理解,因?yàn)閭鬟f給函數(shù)體的參數(shù)不是  str 而是 _str  ,是str的復(fù)制品。所以必然會(huì)調(diào)用拷貝構(gòu)造函數(shù)。 
            ②、一個(gè)對(duì)象以值傳遞的方式從函數(shù)返回 :相當(dāng)于構(gòu)造一個(gè)新的對(duì)象。
            ③、一個(gè)對(duì)象需要通過(guò)另外一個(gè)對(duì)象進(jìn)行初始化。:同上、

            正如您理解那樣 “淺拷貝:只拷貝對(duì)象的基本屬性,其他的引用不拷貝,還是保留引用”如果在類中沒(méi)有顯式地聲明一個(gè)拷貝構(gòu)造函數(shù),那么,編譯器將會(huì)自動(dòng)生成一個(gè)默認(rèn)的拷貝構(gòu)造函數(shù),該構(gòu)造函數(shù)完成對(duì)象之間的位拷貝。當(dāng)對(duì)象沒(méi)有指針時(shí),按照上面的規(guī)則,則一切正常,淺拷貝把數(shù)據(jù)復(fù)制過(guò)新對(duì)象。但當(dāng)對(duì)象有指針時(shí),因?yàn)闇\拷貝引用不拷貝,所以新對(duì)象與舊對(duì)象他們指向的是同一個(gè)內(nèi)存區(qū),這時(shí)當(dāng)釋放內(nèi)存時(shí)就出現(xiàn)釋放兩次,出錯(cuò)了。

            這時(shí)需要深拷貝..................
            所以通常我們需要自己寫拷貝構(gòu)造函數(shù),以免出現(xiàn)錯(cuò)誤。
            //////////////參考資料所得,正確與否歡迎討論、

             

            posted on 2011-09-27 01:24 Yu_ 閱讀(380) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++
            欧美黑人激情性久久| 99久久国产亚洲高清观看2024| 一本大道久久香蕉成人网| 人人狠狠综合久久亚洲| 亚洲精品午夜国产va久久| 久久精品黄AA片一区二区三区| 国产精品久久成人影院| 精品国产日韩久久亚洲| 色偷偷久久一区二区三区| 91精品国产91久久久久久| 久久九九兔免费精品6| 国产亚洲精午夜久久久久久| 国产毛片欧美毛片久久久 | 亚洲欧洲中文日韩久久AV乱码| 欧美黑人激情性久久| 亚洲国产成人久久综合区| 国产69精品久久久久777| 大香伊人久久精品一区二区| 香蕉久久夜色精品国产小说| 久久人人爽人人爽人人片AV不| 久久久91人妻无码精品蜜桃HD| 久久99精品国产麻豆| 久久综合亚洲鲁鲁五月天| 国产日韩久久久精品影院首页| www性久久久com| 久久Av无码精品人妻系列| 伊人久久综合成人网| 2021国产精品久久精品| 久久精品综合网| 亚洲午夜精品久久久久久app| 狠狠色综合网站久久久久久久| 99久久久精品| 狠狠狠色丁香婷婷综合久久五月 | 97久久精品人妻人人搡人人玩| 一个色综合久久| 亚洲国产成人久久综合野外| 色婷婷噜噜久久国产精品12p| 久久久久久噜噜精品免费直播| 日韩欧美亚洲综合久久影院Ds | 尹人香蕉久久99天天拍| 久久精品视频一|