中文字幕视频在线免费_日韩在线精品_日韩视频免费看_中文字幕在线三区_午夜免费视频_日韩在线大片

在C++中定義常量的兩種方法的分析比較

來(lái)源:網(wǎng)絡(luò)

點(diǎn)擊:1547

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: C++,定義常量,方法,分析比較

      在C++中,要定義一個(gè)常量,有兩種主要的做法

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

      2. 常值變量 (const)

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

      #define PI 3.1415926

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

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

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

      

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

      const double PI=3.1415926;

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

      

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

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

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

      3. 語(yǔ)法上也更好理解一些

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

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

      

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

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

      

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

      

      但是conditional只能針對(duì)void方法,這其實(shí)很好理解。因?yàn)槟阋溃赡鼙惶鎿Q掉,就是可能不被編譯。如果它有返回值,而且該值需要被其他程序代碼使用,那不就是麻煩了嗎?

    (審核編輯: 智匯小新)

    聲明:除特別說(shuō)明之外,新聞內(nèi)容及圖片均來(lái)自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請(qǐng)聯(lián)系我們刪除。

    主站蜘蛛池模板: 亚洲精品电影在线观看 | 国内精品久久久久久 | 成人免费看黄色 | 亚洲国产中文字幕 | 国产精品99久久 | 成人片免费看 | 成人国产精品久久久 | 亚洲国产精品99久久久久久久久 | 亚洲人成在线播放 | 91亚洲日本aⅴ精品一区二区 | 久久99国产精品久久99果冻传媒 | 欧美一级片在线 | 久久艹天天艹 | 欧美一区视频 | 免费黄色在线观看 | 91麻豆精品国产91久久久资源速度 | 一级片在线观看网站 | 成人精品国产免费网站 | 国产日韩欧美 | 亚洲乱码一区二区三区在线观看 | 四季久久免费一区二区三区四区 | 欧美视频一区二区 | 国产毛片视频 | 黄色小视频在线观看 | 91精品久久久久 | 精品国产一级毛片 | 黄在线| 羞羞视频免费观 | 免费观看av电影 | 亚洲一区在线播放 | 久久综合中文字幕 | 欧美成人激情 | 性一区 | 一区二区影视 | 国产欧美综合一区二区三区 | 日韩中文字幕一区二区 | 久久99精品国产 | 欧美成人h版在线观看 | 免费一级片视频 | 中文字幕乱码一区二区三区 | 婷婷久|