本節書摘來自異步社群出版社《c++面向對象高效程式設計(第2版)》一書中的第4章,第4.12節,作者: 【美】kayshav dattatri,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
c++面向對象高效程式設計(第2版)
一定要完全初始化對象。所有構造函數都應確定用合适的值初始化所有資料成員。
一定要為所有的類都實作複制構造函數、指派操作符和析構函數。由編譯器生成的預設版本在實際的商業級程式中幾乎沒用。
充分了解無用單元收集和懸挂引用的概念,確定設計的類不會發生記憶體洩漏。
正确了解對象的辨別,不要混淆指向對象的指針和真正的對象。
為類提供複制和指派(如果有意義的話)。在類不允許複制和指派語義的地方,關閉(或控制)複制和指派。
如果設計的實作将用于多線程系統中,應確定引用計數是多線程安全的。
為了讓實作更加高效,使用“寫時複制”的方案。
用複制構造函數操作代替使用預設構造函數後立即使用指派的操作。
本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。