1. 程式人生 > >Effective C++ 讀書筆記----介面和類的設計

Effective C++ 讀書筆記----介面和類的設計

  1. 新型別的物件怎麼建立和銷燬。這關乎到建構函式和解構函式以及記憶體分配函式和釋放函式。
  2. 物件的初始化和物件的賦值有什麼樣的差別。這是建構函式和賦值函式需要考慮的問題。
  3. 新型別的物件如果被值傳遞,意味著什麼。拷貝建構函式用來定義設計的型別的值傳遞該如何實現。
  4. 什麼是新型別的合法值。在建構函式和賦值操作符中必須對值的合法性進行檢查。
  5. 新型別是否需要配合某個繼承體系。比如說,如果設計的類允許被繼承並且有可能被繼承,那麼應該將解構函式設定為虛擬函式。
  6. 新型別需要什麼樣的型別轉換。如果希望允許由型別T1被隱式轉換為型別T2,就必須在類T1中寫一個型別轉換函式(operator T2)或者在類T2中寫一個可被單一實參呼叫的建構函式。
  7. 什麼有的操作符和函式對新型別來說是合理的。也就是說怎麼設計類的成員函式。
  8. 誰能取用新型別的成員。即類成員應該宣告為public、protected、private還是friend。
  9. 什麼是新型別的“未宣告介面”。它對效率、異常安全性以及資源運用提供何保證。併為這些保證設定相應的約束條件。
  10. 是定義一個新型別還是定義一個模板型別。
  11. 是否真的需要定義一個這樣的型別。或許單純的定義一個函式或一個模板就能達到目標。