天天看點

淺拷貝、深拷貝、淺指派、深指派

一、淺拷貝

    對象初始化對象的時候調動拷貝構造函數,隻是拷貝指針指向的拷貝構造稱為淺拷貝。

淺拷貝、深拷貝、淺指派、深指派

      當要析勾的時候對象被一一析勾的時候,第二個析勾的對象就找不到需要釋放的空間,程式報錯。

      由于預設的拷貝構造函數不能完成真實空間的拷貝,是以必須手動編寫一個預設的拷貝構造函數。

二、深拷貝

      對象初始化對象的時候調動拷貝構造函數,真實開辟空間拷貝資料的拷貝構造稱為深拷貝。

淺拷貝、深拷貝、淺指派、深指派

三、淺指派

        對象給對象指派時候調動指派語句,不會開辟空間,隻是簡單的指針指派

淺拷貝、深拷貝、淺指派、深指派

四、深指派

           對象給對象指派時候調動指派語句,會開辟空間,注意開辟空間是要釋放原有空間

指派語句4步驟:

     1.自己給自己是否指派

     2.釋放原有空間

     3.申請新的空間指派,拷貝

     4.傳回自身對象

淺拷貝、深拷貝、淺指派、深指派

     總結:一般類中有指針成員的資料類型,那麼類中的指派語句和拷貝構造函數就需要重新編寫,不能使用預設的函數,杜絕淺拷貝,淺指派

繼續閱讀