久久精品A一国产成人免费网站-久久精品爱国产免费久久-久久精品操-久久精品成人免费看-国产一级毛片在线-国产一级免费片

 
您現在的位置:首頁 ? 知識庫 ? 軟件開發 軟件開發
C++中const和#define的利弊探索
發布日期:2018-04-11

const和#define的利弊,從而推導const的意義;

const和#define都有類似的功能,那就是定義一個“常量”;

想用來替換#define定義常量這種方式。這是一種定義宏的方式。因為宏替換定義常量有一定的缺陷:不做類型檢查,沒有作用域限制(這樣很容易被后續污染)。

#include<iostream>#include<string>using namespace std;void myfunc1() {#define a 10}void myfunc2() {printf("a=%d ", a);}int main() {printf("外面打?。篴=%d ", a);myfunc1();myfunc2();system("pause");return 0;}

因為只做字面上的直接替換,全局都有效,所以無論定義在哪里,全局都可以訪問。因為是在預編譯的時候就替換好了(只要有定義,就在預編譯的時候進行全程替換,所以外面里面都可以訪問)。

同時,很容易受到污染。

#include<iostream>#include<string>using namespace std;#define a 10void myfunc1() {#define a 20printf("myfunc1里面的:a=%d ", a);}void myfunc2() {printf("myfunc2里面的:a=%d ", a);}int main() {printf("外面打印:a=%d ", a);myfunc1();myfunc2();system("pause");return 0;}

提示有宏重定義,結果全部都改變為新的:

宏的方式相當于全局變量,無論在函數里還是函數外命名的時候都要精心雕琢(有點頭痛),否則很容易在以后新的函數中不小心被替換掉,這就是為什么用它定義常量都基本上全部大寫,而變量都弄成小寫,這樣既然不記得有多少宏名了,也不至于沖突。但是它的全局性還是沒有解決。

而const因為有作用域限制,解決了污染全局變量的困擾。

下面的程序是不行的:

#include<iostream>#include<string>using namespace std;void myfunc1() {const int a = 20;printf("myfunc1里面的:a=%d ", a);}void myfunc2() {printf("myfunc2里面的:a=%d ", a);}int main() {printf("外面打印:a=%d ", a);myfunc1();myfunc2();system("pause");return 0;}

定義個全局的只讀變量:

#include<iostream>#include<string>using namespace std;const int a = 10;void myfunc1() {const int a = 20;printf("myfunc1里面的:a=%d ", a);}void myfunc2() {printf("myfunc2里面的:a=%d ", a);}int main() {printf("外面打印:a=%d ", a);myfunc1();myfunc2();system("pause");return 0;}

里面的既不干擾外面的,還可以有優先級之分,同時要做全局也可以做全局。

這樣新做的函數中要想使用a這個名字了,不用考慮什么,直接用就是了。不會影響以前外面定義的全局變量a,是不是省事的多啊。

const是只讀變量,本質上還是變量,是變量就可以傳遞參數,而const還做類型檢查,所以好處更多,如:做形參,可以接收不同的參數,更靈活。

你不能在里面把我的變量給改了吧,可以傳遞不同的變量,因此就曉得更靈活了;

#include<iostream>#include<string>using namespace std;void myfunc1(const int k) {printf("myfunc1里面的數據=%d ", k);}int main() {const int a = 20;myfunc1(a);const int b = 30;myfunc1(b);system("pause");return 0;}

const的應用:

由于是只讀變量,因此保護了外面的實參,外面傳遞實參進來,在函數體里不能修改。因此讓外面的實參得到安全性考慮。

#include<iostream>#include<string>using namespace std;void myfunc1(const int* k) {*k = 3;printf("myfunc1里面的數據=%d ", k);}int main() {const int a = 20;myfunc1(&a);system("pause");return 0;}

宏替換的方式相當于弄全局變量,很容易被污染,沒有作用域限制,做不了優先級區分。它是在預編譯的時候就被替換了。

而const是在編譯的時候才分配變量,有作用域區分,和類型一致的安全性檢測,應用const來開發項目更方便靈活...

宏替換定義的是常量,必定全局有效;

const定義的是只讀變量,有作用域之分,可以做全局的,也可以做局部的,還有優先級之分。既方便又安全,可以代替#define了。那為什么都存在?因為也都有好處,只是想拿各自的好處罷了:

宏替換的方式,讓整個編譯過程變慢(預編譯時間+真正編譯的時間),但是讓程序運行速度變快,因為早已直接替換好了(宏展開),直接運行就得了。

const和它相反,整個編譯時間少,但是程序運行速度慢點了,因為要找內存空間開辟變量...

  • 1.公司登記注冊于2003年1月27日,清遠市桑達電子網絡媒體有限公司
    2.公司2006年起成為清遠市政府定點協議供貨商,電子采購供貨商
    3.公司2007年被清遠市相關政府部門評為安防行業狀元
    4.公司2007年起成為長城電腦清遠如意服務站(SP368)
    5.公司2007年承建清遠市橫河路口電子警察工程,開創清遠電子警察先河。
  • 6.公司2007年起成為IBM合作伙伴、公司2010年底成為金蝶軟件清遠金牌代理(伙伴編號:30030013)
    7.公司組團隊參加南方都市報組織的創富評選,獲廣東80強。公司申請多項軟件著作權、專利權
    8.2016年起公司成為粵東西北地區為數不多的雙軟企業,確立“讓軟件驅動世界,讓智能改變生活!"企業理想
    9.2016-01-29更名為廣東互動電子網絡媒體有限公司
    10.2021-01-13更名為廣東互動電子有限公司
  • 投資合作咨詢熱線電話:0763-3391888 3323588
  • 做一個負責任的百年企業! 天行健,君子以自強不息;地勢坤,君子以厚德載物;
    為用戶創造價值! 讓軟件驅動世界; 讓智能改變生活; 超越顧客期望,幫助顧客成功;
    對客戶負責,對員工負責,對企業命運負責!幫助支持公司的客戶成功;幫助忠誠于公司的員工成功!
  • 聯系電話:0763-3391888 3323588 3318977
    服務熱線:18023314222 QQ:529623964
  • 工作QQ:2501204690 商務QQ: 602045550
    投資及業務投訴QQ: 529623964
    微信:小米哥 微信號:qysed3391888
    騰訊微博:桑達網絡-基石與起點
  • E-MAIL:222#QYSED.CN ok3391888#163.com (請用@替換#)
在線客服
  • 系統集成咨詢
    點擊這里給我發消息
  • 網站\微信\軟件咨詢
    點擊這里給我發消息
  • 售后服務
    點擊這里給我發消息
  • 投資合作
    點擊這里給我發消息
亚洲精品乱码久久久久久V| 久久大香伊蕉在人线国产H| 日本人妻熟妇BBBBB| 696969大但人文艺术正道| 久久人人妻人人做人人爽| 亚洲男女内射在线播放| 精东传媒VS天美传媒| 免费A级毛片18禁| 一级特黄无码毛片av一区二区| 久久99亚洲含羞草影院| 亚洲日韩片无码中文字幕| 精品国产精品久久一区免费式| 亚洲AV高清在线观看一区二区三 | 无码国内精品人妻少妇| 国产精品嫩草影院永久…| 脱岳裙子从后面挺进去电影| 国产精品国产三级国产A| 我把英语课代表按在桌子上抄| 国产丰满饥渴老女人HD| 无码专区—VA亚洲V专区VR| 国产裸模视频免费区无码| 亚洲A∨无码无在线观看| 国产午夜无码片免费| 亚洲AV永久无码精品一区| 极品新婚夜少妇真紧| 亚洲色18禁成人网站WWW| 久久午夜无码鲁丝片秋霞| 中文亚洲AV片在线观看不卡| 国产精品VA在线播放| 天天做天天爱夜夜夜爽毛片| 国产精品日本亚洲欧美| 性ⅩXXX搡XXXX搡| 激情人妻另类人妻伦| 亚洲日韩欧美成人一区二区三区| 久久久久亚洲波多野结衣| 中文字幕高清免费日韩视频在线| 女人张开腿扒开内裤让男生桶| WWW亚洲精品久久久| 上司揉捏人妻丰满双乳电影| 国产精品午夜福利不卡| 亚洲国产精品久久青草无码 | 69美女ⅩXXXXXXX19| 欧美最猛黑人XXXX黑人猛交98| 成年无码AV片在线| 天干天干天啪啪夜爽爽AV| 国产亚洲日韩在线三区| 亚洲欧洲日产国码中文字幕| 美女浴室洗澡裸体爆乳无遮挡| 97久久精品午夜一区二区| 日本熟妇色丰满少妇wwwww色| 公交车上噗嗤一声尽根而没 | 精品人妻一区二区三区Av| 伊人热热久久原色播放WWW| 欧美XXXX色视频在线观看| 成交人性成交视频| 无码人妻久久久久一区二区三区91| 国精品无码一区二区三区在线| 亚洲日韩中文无码久久| 免费无码高潮流白浆视频| 八戒八戒神马影院在线观看5| 天美传媒MV免费观看软件特色 | 主人 跪好 知道错了吗 | 无码国产精品久久一区免费| 激情综合激情五月俺也去| 在线 | 一区二区三区| 人妻含泪让粗大挺进| 51被公侵犯玩弄漂亮人妻| 人善交VIDEOS欧美3D| 国产精品美女久久久久| 亚洲无AV码一区二区三区| 欧美老妇交乱视频在线观看| 国产成人精品午夜视频| 亚洲国产日韩欧美高清片| 美女扒开腿让男人桶爽免费| 波多野结衣TORRENT| 五十路丰满中年熟女中出| 久久久精品波多野结衣AV| BGMBGMBGM老太太水太多| 特大巨黑吊性XXXX| 久久精品99无色码中文字幕| CHINA末成年VIDEOS| 天堂AV男人在线播放| 精品无码国产污污污免费网站国产| 7777色鬼XXXX欧美色妇| 天堂8А√中文在线官网| 精品少妇人妻AV免费久久洗澡| 中英文字幕乱码英文正常| 色悠久久久久综合欧美99| 护士猛少妇色ⅩXXXX猛叫| 0D0D肥胖老太婆| 斯诺克直播在线观看高清直播| 久久精品国产亚洲AV麻| 草莓视频18在线在线播放 | 色欲香天天天综合网站小说| 精东传媒2021精品密友第一季 | 亚洲AV成人一区二区三区在线看 | 如饥似渴LA.VORACE| 精品国产一区二区三区不卡在线 | 无码午夜成人1000部免费视频| 久久午夜福利无码1000合集| 丰满人妻被快递员侵犯的电影| 亚洲色偷无码一区二区蜜桃AV| 日本A级作爱免费观看在线| 好紧好骚好诱人好软| GRANSREMEDY老太太| 撒尿BBWBBW毛| 精品一卡2卡3卡4卡新区在线 | 海角精产国品一二三区别| A级国产乱理伦片在线观看| 小鲜肉洗澡时自慰网站XNXX| 女人被弄高潮视频免费| 国产欧美日韩精品丝袜高跟鞋| 337P日本欧洲亚洲大胆69影| 无遮挡粉嫩小泬久久久久久软件 | 同学要做吗PO爱喝花茶的小酥肉 | 男女无遮挡XX00动态图1| 国产老妇伦国产熟女老妇视频 | 日韩精品无码专区免费播放| 九九九精品成人免费视频小说| 播放灌醉水嫩大学生国内精品| 亚洲色偷偷综合亚洲AVYP| 色噜噜狠狠色综合成人网| 久久亚洲中文不卡AV一区二区| 国产精品VA尤物在线观看| 97超碰精品成人国产| 亚洲AV无码久久| 日本熟妇人妻XXXXXHD| 久久婷婷人人澡人人爽人人喊 | 老妇人高清在线观看免费版| 国产精品久久久久久精品三级 | 国产三级无码内射在线看| H罩杯大胸爆乳交在线观看| 亚洲AV最新在线网址| 让人一看就舒服的网名| 久久精品夜夜夜夜夜久久| 国产成人A视频高清在线观看| √天堂资源中文WWW| 亚洲国产AV一区二区三区| 少妇被三个黑人调教| 蜜臀AV网站在线观看| 国内盗摄视频一区二区三区 | 亚洲AV图片一亚洲AV| 日产无人区一线二线三线小说| 老熟妇乱子伦牲交视频| 国模精品一区二区三区| 成熟交BGMBGMBGM| 主人调教下贱的烂货| 亚洲精品国产情侣AV在线| 天堂资源在线WWW在线观看| 欧美乱妇高清无乱码| 久久久久亚洲AV无码专区网站| 国产精品香蕉成人网在线观看| 爸的比老公大两倍儿媳妇怎么称呼| 伊人色综合久久天天小片| 亚洲AV永久无码精品漫画| 天天做天天爱夜夜夜爽毛片| 全部极品AV娱乐盛宴| 蜜桃中文字日产乱幕| 久久精品国产99国产精品| 国产免费久久久久久无码| 办公室熟妇人妻久久精品| 中文字幕久久熟女蜜桃| 亚洲欧洲精品成人久久曰影片| 五月天久久久噜噜噜久久| 肉蒲团之极乐宝鉴| 欧洲VODAFONEWIFI喷| 免费观看高清日本AⅤ| 久久WWW成人看片免费不卡| 国产清纯美女爆白浆视频| 放荡娇妻张开腿任人玩H| CHⅠNESE性旺盛老熟女| 中文乱码字幕高清一区二区| 亚洲婷婷月色婷婷五月| 亚洲AV无码久久久久久精品| 乌克兰性猛交ⅩXXX乱大交| 三上悠亚SSNI-542在线| 人人妻人人玩人人澡人人爽 | 日本乱码卡一卡新区入口| 免费无码AV污污污在线观看| 久久久亚洲欧洲日产国产成人无码| 激情综合色综合久久综合| 国产午夜高清高清在线观看| 国产成人无码18禁午夜福利免费| 被多个强壮的黑人灌满精| 99国精产品W灬源码1688| 在线天堂おっさんとわたし| 亚洲一区二区精品无码色欲Av| 亚洲国产成人片在线观看无码| 性少妇JEAⅠOUSVU片| 无人区码二码三码四码区别| 玩弄人妻少妇500系列网址| 少妇高潮抽搐无码久久AV| 日韩在线 | 中文| 日韩精品久久久久久久电影蜜臀 | 2021最新久久久视精品爱| 孕妇泬出白浆18P| 一边做一边喷17P亚洲乱妇| 亚洲综合另类小说色区色噜噜| 亚洲精品卡2卡3卡4卡5卡区| 亚洲成A人片在线观看国产|