常用鏈接留言簿(48)我參與的團隊隨筆分類隨筆檔案文章檔案3D GraphicsC++技術IT世界茶余飯后搜索積分與排名
最新評論
閱讀排行榜評論排行榜 |
2008年1月22日 #
摘要: c++語言標準關于這個問題的闡述非常清楚:當通過基類的指針去刪除派生類的對象,而基類又沒有虛析構函數時,結果將是不可確定的。 閱讀全文
摘要: 我們知道,對一個對象的所有成員來說,它們的析構函數被調用的順序總是和它們在構造函數里被創建的順序相反。那么,如果允許上面的情況(即,成員按它們在初始化列表上出現的順序被初始化)發生,編譯器就要為每一個對象跟蹤其成員初始化的順序,以保證它們的析構函數以正確的順序被調用。這會帶來昂貴的開銷。所以,為了避免這一開銷,同一種類型的所有對象在創建(構造)和摧毀(析構)過程中對成員的處理順序都是相同的,而不管成員在初始化列表中的順序如何。 閱讀全文
摘要: 把為類的成員變量賦值的工作盡量在構造函數的初始化列表中,而不是放在構造函數內部進行。這兩種方法的差別主要是效率的差別,放在初始化表中,只有只有一個拷貝構造函數調用,而放在構造函數內部有構造函數和賦值函數兩個函數調用。 閱讀全文
|