1. 程式人生 > >effective C++ 12_複製物件時勿忘其每一個成分 讀書筆記

effective C++ 12_複製物件時勿忘其每一個成分 讀書筆記

作者強調了自己定義的copy建構函式和copy assignment操作符容易犯的錯誤:
1. 本來工作很好的,但是後來添加了成員變數,而忘記在copy建構函式和copy assignment操作符裡新增此新新增成員變數的copy,導致以後就工作不正常了。
2. derived class在copy構造和copy assignment裡忘記copy呼叫父類進行copy。
3. 在copy建構函式裡呼叫copy assignment操作符,或者相反的操作都是無意義的。 可以使用private的init函式,讓copy建構函式和copy assignment操作符呼叫,來消除程式碼重複。

鑑於copy構造和copy assignment操作符這麼容易出錯,我個人還是覺得應該沒有明確需要的情況下,使用前面的Uncopyable類技術 或者C++11的delete關鍵字,來阻止編譯器生成它們。