Posted on 2010-09-03 07:06
silentneil 閱讀(262)
評論(0) 編輯 收藏 引用 所屬分類:
C/C++
將文件間的編譯依賴性降至最低:
在頭文件中用指針和引用來代替實體
先聲明需要的類,不要再頭文件中再引用其他的頭文件,讓用戶來引用
賦值操作函數
缺省的賦值操作符會執行成員的逐個賦值操作,對指針來說是逐位拷貝,如b=a這樣會導致2個問題:
1)b曾指向的內存永遠不會被刪除,即永遠丟失;2)a和b指向同一個空間,只要其中一個被刪除,另一個也將被刪除。
初始化列表
盡量使用初始化而不要在構造函數里賦值,因為對const和引用數據成員只能被初始化,不能被賦值
另外,初始化列表中成員列出的順序和它們在類中聲明的順序相同,而不是和初始化列表中的順序相同
operator=賦值函數
1)給所有數據成員賦值,2)檢查給自己賦值的情況(*this==ths)
為需要動態分配內存的類聲明一個拷貝構造函數和一個賦值操作符
盡量用“傳引用”而不用“傳值”
必須返回一個對象時不要試圖返回一個引用
不要重新定義繼承而來的非虛函數
編譯器為類生成的函數:一個缺省構造函數,一個拷貝構造函數,一個賦值運算符,一個析構函數,一對取址運算符