程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 那些C++編程中應當盡早摒棄的陋習,摒棄陋習

那些C++編程中應當盡早摒棄的陋習,摒棄陋習

編輯:C++入門知識

那些C++編程中應當盡早摒棄的陋習,摒棄陋習


習慣更改(養成良好的編程習慣)

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中搜索“圓括號”三個字,找到使用圓括號調用默認構造函數等初始化成員等的規則

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved