国产成人精品a视频一区www_国产区视频在线观看_99色视频_欲色av_亚洲一区电影_亚洲综合视频一区

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

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

點擊:1548

A+ A-

所屬頻道:新聞中心

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

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

      1. 符號常量 (#define)

      2. 常值變量 (const)

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

      #define PI 3.1415926

      這樣的語法就定義了一個叫做PI的符號常量,它的值指定為3.1415926.

      【注意】因為它其實不是C++語法,所以它不需要(也不能)用分號結(jié)束。

      我們怎么使用呢

      

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

      const double PI=3.1415926;

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

      

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

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

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

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

      題外話:在C#中能不能使用符號呢?

      C#中也可以使用符號定義,例如下面這樣

      

      一般這樣做的目的都是為了改變編譯行為。因為#define是編譯器指令

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

      

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

      

      但是conditional只能針對void方法,這其實很好理解。因為你要知道,它可能被替換掉,就是可能不被編譯。如果它有返回值,而且該值需要被其他程序代碼使用,那不就是麻煩了嗎?

    (審核編輯: 智匯小新)

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

    主站蜘蛛池模板: 青青草狠狠干 | 不卡一区二区三区四区 | 资源av | 策驰影院在线观看2024 | 成人欧美一区二区三区视频xxx | 亚洲午夜精品久久久久久app | 日韩在线资源 | 91精品国产综合久久久久久 | 久久成人国产精品 | 91在线精品秘密一区二区 | xnxx 日本19 | 久久99久久久久 | 噜噜噜噜狠狠狠7777视频 | 国产精品久久久久久久久久妞妞 | 欧美狠狠操 | 午夜激情在线免费观看 | 激情开心成人网 | 国产精品中文字幕一区二区三区 | 亚洲国产精华液网站w | 欧美色图第一页 | 91久久国产综合久久91精品网站 | 国产亚洲一区二区av | 国产一级视频 | 美女吊逼| 国内久久精品 | 国产精品久久婷婷六月丁香 | 亚洲精品国产成人 | 成人久久久精品乱码一区二区三区 | 99久久婷婷国产综合精品 | 天天操天天干天天 | 日韩欧美精品区 | 欧美一级免费看 | 久久国产欧美日韩精品 | 黄色电影网站在线观看 | 亚洲高清资源在线 | 日韩成人精品 | 欧美与黑人午夜性猛交久久久 | 亚洲自拍一区在线 | www.精品 | 啵啵影院午夜男人免费视频 | 亚洲手机在线观看 |