[ECPP讀書筆記 條目19] 要像設計類型一樣設計class
摘要: class設計就是類型的設計。在定義一個新的類型之前,要確保將本條目中所有的問題考慮周全。 閱讀全文
posted @ 2007-05-20 23:30 ★ROY★ 閱讀(937) | 評論 (2) 編輯
隨筆 - 45, 文章 - 0, 評論 - 172, 引用 - 0
|
05 2007 檔案[ECPP讀書筆記 條目19] 要像設計類型一樣設計class
摘要: class設計就是類型的設計。在定義一個新的類型之前,要確保將本條目中所有的問題考慮周全。 閱讀全文
posted @ 2007-05-20 23:30 ★ROY★ 閱讀(937) | 評論 (2) 編輯 [ECPP讀書筆記 條目18] 要讓接口易于正確使用,而不易被誤用
摘要: 優秀的接口應該易于正確使用,而不易誤用。對所有的接口都應該力爭做到這一點。
保持與內置數據類型有一致的行為,是使接口易于正確使用的一種可行的方法 防止錯誤發生的方法有:創建新的數據類型,嚴格限定類型的操作,約束對象的值,不要將管理資源的任務留給客戶端程序員。 tr1::shared_ptr支持自定義的刪除功能。這可以防止“跨DLL問題”,可以應用與自動解開互斥鎖等情況。 閱讀全文 posted @ 2007-05-18 23:30 ★ROY★ 閱讀(878) | 評論 (0) 編輯 [ECPP讀書筆記 條目17] 用智能指針存儲由new創建的對象時要使用獨立的語句
摘要: 在單獨的語句中使用智能指針來保存由new創建的對象。如果不這樣做,你的程序會在拋出異常時發生資源泄漏。
閱讀全文 posted @ 2007-05-15 23:12 ★ROY★ 閱讀(1528) | 評論 (89) 編輯 [ECPP讀書筆記 條目16] 互相關聯的new和delete要使用同樣的形式
摘要: 如果你在一個new語句中使用了[],那么你必須要在相關的delete語句中使用[]。如果你在new語句中沒有使用[],那么在相關的delete語句中一定不要出現[]。
閱讀全文 posted @ 2007-05-14 22:15 ★ROY★ 閱讀(1117) | 評論 (0) 編輯 [ECPP讀書筆記 條目15] 要為資源管理類提供對原始資源的訪問權
摘要: API通常需要訪問原始資源,因此每個RAII類都應該提供一個途徑來獲取它所管理的資源。
訪問可以通過顯式轉換或隱式轉換來實現。一般情況下,顯式轉換更安全,但是隱式轉換對于客戶端程序員來說使用更方便。 閱讀全文 posted @ 2007-05-13 20:54 ★ROY★ 閱讀(832) | 評論 (0) 編輯 [ECPP讀書筆記 條目14] 要注意資源管理類中的復制行為posted @ 2007-05-11 18:40 ★ROY★ 閱讀(962) | 評論 (1) 編輯 [ECPP讀書筆記 條目13] 使用對象來管理資源
摘要: 為了避免資源泄漏,可以使用RAII對象,使用構造函數獲取資源,析構函數釋放資源。
auto_ptr或TR1::shared_ptr是兩個常用并且實用的RAII類。通常情況下TR1::shared_ptr是更好的選擇,因為它的復制行為更加直觀。復制一個auto_ptr將會使其重設為null。 閱讀全文 posted @ 2007-05-07 18:52 ★ROY★ 閱讀(1014) | 評論 (0) 編輯 [ECPP讀書筆記 條目12] 要復制整個對象,不要遺漏任一部分
摘要: 要確保拷貝函數拷貝對象的所有的數據成員,及其基類的所有部分,不要有遺漏。
不要嘗試去實現一個拷貝函數來供其它的拷貝函數調用。取而代之的是,把公共部分放入一個“第三方函數”中共所有拷貝函數調用。 閱讀全文 posted @ 2007-05-03 21:15 ★ROY★ 閱讀(898) | 評論 (1) 編輯
|
|