深拷貝與淺拷貝

2022-05-02 14:54:07 字數 355 閱讀 6737

拷貝:將物件的資料進行複製

深拷貝:拷貝的時候,將資料的所有引用結構都拷貝乙份,那麼資料在記憶體中獨立

淺拷貝:拷貝的時候,只針對當前物件的屬性進行拷貝,屬性是引用型別不考慮,

淺拷貝只是將物件屬性中的引用位址拷貝了,沒有將屬性所表示的物件拷貝出來,原物件和拷貝出來的物件共享乙個物件。

淺拷貝問題:pcopy做某些操作的時候,很有可能把p的屬性也修改了。

dom操作拷貝節點時,當節點下還有節點(就是他的屬性)就會出現淺拷貝的問題。

所以dom操作拷貝節點時要用深拷貝。

淺拷貝**實現

「淺拷貝」與「深拷貝」

c 中物件的複製就如同 轉殖 用乙個已有的物件快速地複製出多個完全相同的物件。一般而言,以下三種情況都會使用到物件的複製 1 建立乙個新物件,並用另乙個同類的已有物件對新物件進行初始化,例如 cpp view plain copy class rect rect rect1 rect rect2 r...

淺拷貝與深拷貝

淺拷貝 1 2 myclass a,b a b 為了封裝性和解耦,同型別的兩個物件之間進行賦值操作時,所有成員變數被複製,包括私有成員 指標變數。類的成員函式在傳遞或返回物件時都會進行物件複製產生臨時物件,比如函式呼叫時實參變為形參,以及函式返回物件。考慮到效能和使用者要求不同,編譯器不複製物件內部...

「淺拷貝」與「深拷貝」

c 中物件的複製就如同 轉殖 用乙個已有的物件快速地複製出多個完全相同的物件。一般而言,以下三種情況都會使用到物件的複製 1 建立乙個新物件,並用另乙個同類的已有物件對新物件進行初始化,例如 cpp view plain copy class rect rect rect1 rect rect2 r...