在C++中定義常量的兩種方法的分析比較-基礎(chǔ)電子_第1頁
在C++中定義常量的兩種方法的分析比較-基礎(chǔ)電子_第2頁
在C++中定義常量的兩種方法的分析比較-基礎(chǔ)電子_第3頁
在C++中定義常量的兩種方法的分析比較-基礎(chǔ)電子_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

精品文檔-下載后可編輯在C++中定義常量的兩種方法的分析比較-基礎(chǔ)電子在C++中,要定義一個(gè)常量,有兩種主要的做法

1.符號(hào)常量(#define)

2.常值變量(const)

符號(hào)常量的定義方式,其實(shí)與C++本身沒有關(guān)系,它是一個(gè)編譯器指令,或者稱為預(yù)處理指令(有關(guān)的預(yù)處理指令還有#include,#ifdefine等等)。它的用法如下

#definePI3.1415926

這樣的語法就定義了一個(gè)叫做PI的符號(hào)常量,它的值指定為3.1415926.

【注意】因?yàn)樗鋵?shí)不是C++語法,所以它不需要(也不能)用分號(hào)結(jié)束。

我們?cè)趺词褂媚?/p>

與符號(hào)常量相對(duì)的,常值變量需要通過const關(guān)鍵字定義。相對(duì)來說,const更加現(xiàn)代,它是c++的一個(gè)關(guān)鍵字,它的用法如下

constdoublePI=3.1415926;

我們把上面的代碼轉(zhuǎn)換一下

總結(jié)起來說,我們推薦用const,而不是#define預(yù)處理指令

1.const可以定義數(shù)據(jù)類型,提高了類型安全性。例如,我們上面可以指定PI這個(gè)常量是double類型

2.const既然是變量(這里有點(diǎn)別扭,它其實(shí)是不變的,但名稱叫做常值變量),那么就有地址,適用面更加廣

3.語法上也更好理解一些

題外話:在C#中能不能使用符號(hào)呢?

C#中也可以使用符號(hào)定義,例如下面這樣

一般這樣做的目的都是為了改變編譯行為。因?yàn)?define是編譯器指令

除了用#if這樣的條件編譯語句之外,我們還可以用Conditional指令

[Conditional("MINI")]//Conditional是一個(gè)新的Attribute,可以進(jìn)行條件編譯,本例的意思是只有定義了MINI這個(gè)符號(hào)的情況下,才將該方法編譯進(jìn)去。否則,任何其他調(diào)用處都將放一個(gè)空白。

但是conditional只能針對(duì)void方法,這其實(shí)很好理解。因?yàn)槟阋溃?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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)論