智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

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

來源:網絡

點擊:1578

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方法,這其實很好理解。因為你要知道,它可能被替換掉,就是可能不被編譯。如果它有返回值,而且該值需要被其他程序代碼使用,那不就是麻煩了嗎?

    (審核編輯: 智匯小新)

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

    主站蜘蛛池模板: 湖南净声源环保科技有限公司是一家专业从事噪声治理和建筑声学设计生态环境综合治理服务的企业,专业从事株洲电梯隔音治理,湘潭中央空调降噪处理,衡阳邵阳冷却塔噪音治理,岳阳常德大型风机噪声隔音降噪,张家界空压机噪声治理,益阳配电房变压器噪声治理,专业郴州永州工厂企业车间噪声治理,怀化娄底专业机械设备减振降治理,武汉噪音治理隔音降噪公司,孝感噪音治理,立式球磨机的噪声控制,专业隔音降噪公司,、以及各类机械动力设备减振降噪噪声治理的公司,同时为客户提供咨询与解决方案 | 选金银铅锌钽铌锡铂钨铑铱镐钯宝石&金属尾矿重选-青州冠诚重工机械 | 湖南净声源环保科技有限公司是一家专业从事噪声治理和建筑声学设计生态环境综合治理服务的企业,专业从事株洲电梯隔音治理,湘潭中央空调降噪处理,衡阳邵阳冷却塔噪音治理,岳阳常德大型风机噪声隔音降噪,张家界空压机噪声治理,益阳配电房变压器噪声治理,专业郴州永州工厂企业车间噪声治理,怀化娄底专业机械设备减振降治理,武汉噪音治理隔音降噪公司,孝感噪音治理,立式球磨机的噪声控制,专业隔音降噪公司,、以及各类机械动力设备减振降噪噪声治理的公司,同时为客户提供咨询与解决方案 | 景德镇晶达新材料有限公司 | 扬州华工电气有限公司|环氧树脂管|金刚石绝缘板|U型绝缘槽|电解槽绝缘材料 | 双螺杆挤压膨化设备_挤压熟化设备_烘干设备_油炸设备及喷涂调味设备-山东铭本机械科技公司 | 数海经纬官方网站 - 声学智能领域先行者 - 数海经纬(深圳)信息技术有限公司 | 模温机_厂家_现货供应-卡塞尔机械(浙江)有限公司 | 太原重卡叔叔运输有限公司-山西太原大件运输、太原物流公司、太原货运物流、太原大件运输、太原货运信息、长治物流公司、长治大件运输、晋城物流公司、晋城大件运输、忻州大件运输、朔州大件运输、阳泉大件运输、大同大件运输、吕梁大件运输、临汾大件运输、运城大件运城 | 苏州不锈钢_江苏不锈钢_江苏不锈钢板_苏州模具钢_苏州合金钢_苏州特种合金_苏州不锈钢板_304不锈钢棒_苏州塞硒五金制品有限公司 苏州ERP定制|苏州CRM|苏州OA|苏州BPM|进销存管理系统-苏州中尚信息科技有限公司 | 宿迁市华泰交通设施有限公司,上海第四代路名牌,天津仿罗马柱路名牌,标准路名牌,路名牌灯箱,公交站台,户外广告灯箱, 交通标志牌,社区阅报栏 | 指纹锁_智能锁_指纹密码锁_智能锁十大品牌_智能门锁厂家-深圳市豪力士智能科技有限公司 | 木别墅-小木屋-防腐木木屋-成都腾龙装配式建筑科技有限公司 | 上海便携式液体_日本理音液体_HACH液体颗粒计数器,metone尘埃粒子计数器-上海翰森科学仪器有限公司 | 危废处理_危废处置_危废处理公司-江苏绿瑞特环境科技股份有限公司 | 全自动拆包机,自动拆包机,全自动逐层拆包机,全自动吨袋拆包机,吨袋拆包机,管链输送机,气流分级机 | 江苏中美铝业有限公司-【官网】| 真空烘箱-高低温试验箱-防爆烘箱-防爆高低温试验箱-老化房-恒温恒湿箱-高低温试验箱-高低温冲击试验箱厂家—上海标承实验仪器有限公司 | 水质在线硬度计-立柜式五参数水质分析仪-上海博取 | 日本国际高中学校招生【立学仕日本留学服务】日语中学学校|美术生|艺术生|高中生|本科|研究生|语言学校留学择校申请 | 欧艺宝盾科技(北京)有限责任公司_北京旋转门厂家_转门维修_高端商务门控定制 - | 连续式回转炉_间歇式回转炉_燃气式回转炉_电加热回转炉-长兴博达机械配件有限公司 | 型煤锅炉进煤机|型煤链条炉排 |重型板链除渣机 |丹东刮板输送机|丹东脱硫除尘器-铧洋机械 | 碳化硅微粉_超细碳化硅微粉_潍坊凯华碳化硅微粉有限公司 | 亚洲一区日韩一区欧美一区a,中文字幕乱妇无码AV在线,欧美日韩免费在线观看,国产精品一区二区三区免费,日韩精品免费一线在线观看,日韩一本在线,国产呦精品一区二区三区下载,国产日韩精品一区二区在线观看,欧美日韩高清一区二区三区,日韩在线免费观看视频,欧美日韩一区在线观看 | 无锡大然新风环保设备有限公司-办公室空气净化器_商用空气净化器_酒店空气净化器 | 狠狠穞A片一區二區三區-免费网站在线观看人数更新时间-欧洲尺码日本尺码专线不卡顿,国产大尺度禁片未删减版,baomaav | 粮食烘干机|玉米烘干机|稻谷烘干机|小麦烘干机|大型连续烘干塔|500吨连续烘干塔|钢板仓|-郑州新光矿山机械制造有限公司 | 沼气池-沼气设备-沼气工程-山东达禹环境工程有限公司 | 欧氏运动木地板,体育木地板厂家,篮球木地板价格_欧氏体育木地板 欧派板材官网 | 全屋定制板材 专业供应商 | 深圳市佳顺优印印刷有限公司,佳顺优印,画册印刷,海报印刷,封套印刷,手提袋印刷,包装盒印刷,彩盒印刷,无碳纸印刷,不干胶印刷,信封印刷,便笺印刷,笔记本印刷,台历印刷,挂历印刷,国际会展中心附近印刷厂,宝安印刷厂,宝安教材印刷厂 | 心理咨询室设备_音乐放松椅_心理测评系统_情绪宣泄设备厂家 | 清研集团 - 北京清研灵智科技有限公司| 免喷涂材料,免喷涂塑料,免喷涂注塑,免喷涂挤塑,免喷涂工艺-中山鸿盛免喷涂 | 展柜设计定制-品牌展柜订做-展柜制作厂家「广州嘉艺展柜」 | 真空机器人维修_晶圆机械手保养_半导体机械臂维修_面板机器人保养_AMHS改造-广州市广科智能技术有限公司 | 名嘉宴会【官网】_宁波冷餐_宁波茶歇_宁波酒会_宁波自助餐_宁波盛世名嘉宴会服务有限公司 | 竖豆网-网站建设、小程序商城、软件定制开发 | 山东礼品盒,礼品盒生产厂家,礼品包装盒厂家-济南恒印包装有限公司 | 生物柴油_油酸甲酯厂家_脂肪酸甲酯_植物油燃料-中凯化工 | 重庆中医针灸推拿培训_产后康复理疗师培训_重庆市六合职业培训学校 |