默認(rèn)拷貝構(gòu)造函數(shù)的匯編代碼:
其實(shí)就相當(dāng)于這一段代碼
拷貝構(gòu)造函數(shù)
多態(tài)拷貝構(gòu)造函數(shù)
子類拷貝構(gòu)造函數(shù)調(diào)用父類拷貝構(gòu)造函數(shù)狼忱,利用父指針可以指向子類函卒。
淺拷貝
- 編譯器默認(rèn)提供的拷貝是淺拷貝
-
淺拷貝:指針類型的變量只會(huì)拷貝地址值
堆空間指向椡蠢瑁空間不安全,因?yàn)闂?臻g不能人為控制回收暂题。所以堆空間指向棾笊鳎空間的指針可能變成野指針喜喂。
所以要讓name數(shù)組在堆空間中申請(qǐng),并且手動(dòng)釋放。
淺拷貝帶來的問題
- 析構(gòu)造成double free
- 修改car2,cai1也會(huì)改變
深拷貝
-
深拷貝:將指針指向的內(nèi)容拷貝到新的存儲(chǔ)空間