c++編程規(guī)范_第1頁(yè)
已閱讀1頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、頭文件通常,每一個(gè).cc文件(C的源文件)都有一個(gè)對(duì)應(yīng)的.h文件(頭文件),也有一些例外,如單元測(cè)試代碼和只包含main()的.cc文件。1.#define保護(hù)所有頭文件都應(yīng)該使用#define防止頭文件被多重包含(multipleinclusion),命名格式為:___H_為保證唯一性,頭文件的命名應(yīng)基于其所在項(xiàng)目源代碼樹的全路徑。例如,項(xiàng)目foo中的頭文件foosrcbarbaz.h挄如下方式保護(hù):#ifndefFOO_BAR_BA

2、Z_H_#defineFOO_BAR_BAZ_H_...#endifFOO_BAR_BAZ_H_2.頭文件依賴使用前置聲明(fwarddeclarations)盡量減少.h文件中#include的數(shù)量。注:能依賴聲明的就不要依賴定義。3.內(nèi)聯(lián)函數(shù)叧有當(dāng)函數(shù)叧有10行甚至更少時(shí)才會(huì)將其定義為內(nèi)聯(lián)函數(shù)(inlinefunction)。4.函數(shù)參數(shù)順序(FunctionParameterdering)定義函數(shù)時(shí),參數(shù)順序?yàn)椋狠斎雲(yún)?shù)在前,輸出

3、參數(shù)在后。5.包含文件的名稱及次序?qū)涡驑?biāo)準(zhǔn)化可增強(qiáng)可諾性、避免隱藏依賴(hiddendependencies,注:隱藏依賴主要是指包含的文件編譯),次序如下:C庫(kù)、C庫(kù)、其他庫(kù)的.h、項(xiàng)目?jī)?nèi)的.h。項(xiàng)目?jī)?nèi)頭文件應(yīng)挄照項(xiàng)目源代2.默認(rèn)構(gòu)造函數(shù)(DefaultConstructs)如果一個(gè)類定義了若干成員變量又沒(méi)有其他構(gòu)造函數(shù),需要定義一個(gè)默認(rèn)構(gòu)造函數(shù),否則編譯器將自動(dòng)生產(chǎn)默認(rèn)構(gòu)造函數(shù)。3.明確的構(gòu)造函數(shù)(ExplicitConstr

4、ucts)對(duì)單參數(shù)構(gòu)造函數(shù)使用C關(guān)鍵字explicit。4.拷貝構(gòu)造函數(shù)(CopyConstructs)僅在代碼中需要拷貝一個(gè)類對(duì)象的時(shí)候使用拷貝構(gòu)造函數(shù);不需要拷貝時(shí)應(yīng)使用DISALLOW_COPY__ASSIGN。5.結(jié)構(gòu)體和類(Structsvs.Classes)僅當(dāng)叧有數(shù)據(jù)時(shí)使用struct,其它一概使用class。如果需要更多的函數(shù)功能,class更適合,如果不確定的話,直接使用class。如果不STL結(jié)合,對(duì)于仿函數(shù)(fun

5、cts)和特性(traits)可以不用class而是使用struct。注意:類和結(jié)構(gòu)體的成員變量使用不同的命名規(guī)則。6.繼承(Inheritance)使用組合(composition,注,這一點(diǎn)也是GoF在《DesignPatterns》里反復(fù)強(qiáng)調(diào)的)通常比使用繼承更適宜,如果使用繼承的話,叧使用公共繼承。7、接口(Interface)接口是指滿足特定條件的類,返些類以Interface為后綴(非必需)。8、操作符重載(OperatOv

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論