1. 程式人生 > >使用拷貝建構函式的理由和作用【整理】

使用拷貝建構函式的理由和作用【整理】

因為在系統的學習c++之前,自己寫了一些小玩意,雖然沒有寫拷貝建構函式,但是也沒有報錯。等到真正學習到的時候,就非常疑惑,為什麼要使用拷貝建構函式呢?不寫不是也可以嗎?(⊙﹏⊙)b

然後,不久之後我就跪了【後來才知道是因為類裡含有指標變數】

因為如果不寫拷貝建構函式,系統就只會呼叫預設建構函式,然而預設建構函式是一種淺拷貝。相當於只對指標進行了拷貝(位拷貝),而有些時候我們卻需要拷貝整個建構函式包括指向的記憶體,這種拷貝被稱為深拷貝(值拷貝)。

所以為了達成深拷貝的目的,自己手寫拷貝建構函式是非常必要的。

下面由淺入深的推薦三個部落格的內容。