日本精品久久-日本精品二区-日本精品二区-日本极品少妇-成人欧美一区二区三区黑人免费-成人欧美一区二区三区黑人免费

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

來源:網絡

點擊:1581

A+ A-

所屬頻道:新聞中心

關鍵詞: C++,定義常量,方法,分析比較

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

      1. 符號常量 (#define)

      2. 常值變量 (const)

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

      #define PI 3.1415926

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

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

      我們怎么使用呢

      

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

      const double PI=3.1415926;

      我們把上面的代碼轉換一下

      

      總結起來說,我們推薦用const,而不是#define預處理指令

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

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

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

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

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

      

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

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

      

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

      

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

    (審核編輯: 智匯小新)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 黑手党电影| 吴添豪| 宝贝电影| 杨文元| 暗夜尖叫1988美国版高清观看| 青春修炼手册歌词全部| 金玉良缘红楼梦 电影| 王菲电影| 赫伯曼电影免费观看| 365:逆转命运的1年 电视剧| 铃木纱理奈| 老爸老妈浪漫史第一季| 贾冰又出新的喜剧电影| 搜狐手机网首页新闻| 午间剧场| 二胡独奏我的祖国| 同性gay| 迷失之城 电影| 新亮剑40集免费观看完整版高清| 教育部全国青少年普法网答案| 林丹出轨视频| baekhyun| 火花 电影| 逐步爱上你| 血型父母和孩子血型表| 舞法天女第三季| 《剪窗花》童谣| 汤唯和梁朝伟拍戏原版| 生死劫杀1946| 汪汪队完整版全集免费| 国家宝藏电影| 有氧运动有哪些项目| 庆余年2豆瓣| 二年级上册第一单元数学试卷可打印| 6套电影频道节目表| 绝望的主妇第八季| 七年级下册英语书电子版 | 那年秋天| 3片| 库尔斯克会战电影| 山上的小屋 残雪原文|