effective c 13 使用物件管理資源

2021-08-19 20:23:28 字數 301 閱讀 5778

原則 為防止資源洩露,多使用物件管理資源,他們在建構函式中得到資源在析構函式中釋放資源,依賴析構函式,特別對於工廠方法等獲得等物件指標

如下:

object * createinstance()
對於這種為加工等裸指標,很容易造成資源洩漏,一種物件管理資源等方式是用智慧型指標來包裝物件,如shared_ptr,auto_ptr

shared_ptr可以複製,通過計數方式記錄引用,當引用為0時自動呼叫shared_ptr所指物件當析構函式,依賴物件自身當析構函式釋放資源;另外資源不光時記憶體,還有檔案描述符,控制代碼等。

Effective C 學習筆記 (13)

由於在寫 時很多時候需要用到資源,比如new乙個物件之類的,這樣一來資源的申請和釋放需要程式設計師自己完成,對 的邏輯需要謹慎設計,才能保證資源不會洩漏。其實這類似的程式設計風格,在之前寫c的時候也有編碼規範來規定資源的釋放,比如do while的運用啊,goto exit0之類的方法,但是對於c ...

effective c 條款13學習總結

條款13 初始化列表中成員列出的順序和它們在類中宣告的順序相同 如果成員按它們在初始化列表上出現的順序被初始化,那w1和w2中的資料成員被建立的順序就會不同。我們知道,對乙個物件的所有成員來說,它們的析構函式被呼叫的順序總是和它們在建構函式裡被建立的順序相反。那麼,如果允許上面的情況 即,成員按它們...

effective c 條款13學習總結

條款13 初始化列表中成員列出的順序和它們在類中宣告的順序相同 如果成員按它們在初始化列表上出現的順序被初始化,那w1和w2中的資料成員被建立的順序就會不同。我們知道,對乙個物件的所有成員來說,它們的析構函式被呼叫的順序總是和它們在建構函式裡被建立的順序相反。那麼,如果允許上面的情況 即,成員按它們...