1. 程式人生 > >Effective C++ 學習筆記6 資源管理

Effective C++ 學習筆記6 資源管理

  1. 為了防止資源洩漏,請使用RAII物件,它們在建構函式中獲得資源並在解構函式中釋放資源;
  2. 兩個常被使用的RAII classes分別是tr1::shared_ptr和auto_ptr,前者通常是較佳選擇,因為copy行為比較直觀。若選擇auto_ptr,複製動作會使它指向null;
  3. 複製RAII物件必須一併複製它所管理的資源,所以資源的copying行為決定RAII物件的copying行為;
  4. 普遍而常見的RAII class copying行為是:抑制copying、施行引用計數法;
  5. APIs往往要求訪問原始資源,所以每一個RAII class應該提供一個“取得其所管理資源”的辦法;
  6. 對原始資源的訪問可能經由顯式轉換或隱式轉換。一般而言顯示轉換比較安全,但隱式轉換對客戶比較方便
  7. new — > delete
  8. new[] —> delete[]
  9. 以獨立語句將newed物件儲存於智慧指標內。