習慣更改(養成良好的編程習慣)
1.包含頭文件的方式,從C語言.h的方式改為<頭文件名>的方式
2.盡量使用迭代器代替下標操作
3.建議:盡量避免使用指針和數組 ,盡可能使用vector和迭代器
4.采用 string 類型取代 C 風格字符串(使用標准庫類型 string,除了增強安全性外,效率也提高了,因此應該盡量避免使用 C 風格字符串)
5.盡量“將符號 * 緊貼著指針變量名放置”,雖然*緊貼類型名放置也是合法的
5.用指針操作數組時應首先選用類似於迭代器的那種用法
6.const使用時,如果等價,盡量將const放在類型後,以避免類似於typedef使用中的錯誤
7.一般而言,應該優先使用標准庫抽象類而少用語言內置的低級數組和指針。尤其是應該使用 string 類型取代 C 風格以空字符結束的字符數組。現代 C++ 程序不應使用 C 風格字符串。
8.相對於“整型數據的低級直接位操作”而言,“標准庫提供的 bitset 操作更直接、更容易閱讀和書寫、正確使用的可能性更高。而且,bitset 對象的大小不受 unsigned 數的位數限制。”,所以,優先選用bitset
9.類似於++,--這種自增操作符,只有在必要時才使用後置操作符,盡量使用前置自增操作符的形式(組合使用接引用和自增操作符時,通常使用後自增操作符)
10、合適的地方,例如:想在函數調用是實現對實參的訪問,“從 C 語言背景轉到 C++ 的程序員習慣通過傳遞指針來實現對實參的訪問。在 C++ 中,使用引用形參則更安全和更
自然。 ”
11.如果使用引用形參的唯一目的是避免復制實參,則應將形參定義為 const 引用。
12.應該將不需要修改的引用形參定義為const 引用。普通的非 const 引用形參在使用時不太靈活。這樣的形參既不能用 const 對象初始化,也不能用字面值或產生右值的表達式實參初始化。
13.通常,將數組形參直接定義為指針要比使用數組語法定義更好。這樣就明確地表示,函數操縱的是指向數組元素的指針,而不是數組本身。由於忽略了數組長度,形參定義中如果包含了數組長度則特別容易引起誤解。
14.在創建 fstream 對象時,如果調用 open 或使用文件名作初始化式,需要傳遞的實參應為 C 風格字符串,而不是標准庫 strings 對象。程序常常從標准輸入獲得文件名。通常,
比較好的方法是將文件名讀入 string 對象,而不是 C 風格字符數組。假設要使用的文件名保存在 string 對象中,則可調用 c_str 成員(第 4.3.2 節)獲取 C 風格字符串。
15.計算數組元素個數時應定義為size_t,放棄使用int
備注:以上這些條目(除非特別指出)都是源自《C++ Primer》,過些時日將逐條補充整理。另外,評論中有網友貢獻了幾條,查閱資料驗證後也將融匯到以上條目。做成圖表格式,另外將這些些條目避免的問題加進去,如果有的話
另外,在C++ Primer中搜索“圓括號”三個字,找到使用圓括號調用默認構造函數等初始化成員等的規則