国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

2、函數(shù)的升級(上)

2019-11-08 02:48:37
字體:
供稿:網(wǎng)友

1、const int A = 3; => #define A 3

2、C++中推薦使用內(nèi)聯(lián)函數(shù)替代宏代碼片段

3、C++中使用inline關(guān)鍵字聲明內(nèi)聯(lián)函數(shù)       inline  int  func(int a, int b)       {              return a < b ? a : b;

       }

4、內(nèi)聯(lián)函數(shù)聲明時inline關(guān)鍵字必須和函數(shù)定義結(jié)合在一起,

      否則編譯器會直接忽略內(nèi)聯(lián)請求

5、C++編譯器可以將一個函數(shù)進(jìn)行內(nèi)聯(lián)編譯

6、被C++編譯器內(nèi)聯(lián)編譯的函數(shù)叫做內(nèi)聯(lián)函數(shù)

7、內(nèi)聯(lián)函數(shù)在最終生成的代碼中是沒有定義的

8、C++編譯器直接將函數(shù)體插入函數(shù)調(diào)用的地方

9、內(nèi)聯(lián)函數(shù)沒有普通函數(shù)調(diào)用時的額外開銷(壓棧,跳轉(zhuǎn),返回)

10、C++編譯器不一定準(zhǔn)許函數(shù)的內(nèi)聯(lián)請求!(類似register)

11、內(nèi)聯(lián)函數(shù)是一種特殊的函數(shù),具有普通函數(shù)的特性(參數(shù)檢查,返回類型等)

12、內(nèi)聯(lián)函數(shù)是對編譯器的一種請求,因此編譯器可能拒絕這種請求

13、內(nèi)聯(lián)函數(shù)由編譯器處理,直接將編譯后的函數(shù)體插入調(diào)用的地方

14、宏代碼片段由預(yù)處理器處理,進(jìn)行簡單的文本替換,沒有任何編譯過程

15、現(xiàn)代C++編譯器能夠進(jìn)行編譯優(yōu)化,因此一些函數(shù)即使沒有inline聲明

        也可能被編譯器內(nèi)聯(lián)編譯

16、另外,一些現(xiàn)代C++編譯器提供了擴(kuò)展語法,能夠?qū)瘮?shù)進(jìn)行強(qiáng)制內(nèi)聯(lián)

17、C++中內(nèi)聯(lián)編譯的限制:         不能存在任何形式的循環(huán)語句         不能存在過多的條件判斷語句         函數(shù)體不能過于龐大         不能對函數(shù)進(jìn)行取址操作         函數(shù)內(nèi)聯(lián)聲明必須在調(diào)用語句之前18、編譯器對于內(nèi)聯(lián)函數(shù)的限制并不是絕對的,內(nèi)聯(lián)函數(shù)相對于普通函數(shù)的優(yōu)勢只是省去了函數(shù)調(diào)用時壓棧,        跳轉(zhuǎn)和返回的開銷。

        因此,當(dāng)函數(shù)體的執(zhí)行開銷遠(yuǎn)大于壓棧,跳轉(zhuǎn)和返回所用的開銷時,那么內(nèi)聯(lián)將無意義。

19、內(nèi)聯(lián)函數(shù)體內(nèi)最好不要超過五句。

20、符號表C++編譯器自己用的,與最終生成無關(guān)

21、在C++中可以為函數(shù)提供占位參數(shù)
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 云梦县| 古田县| 清徐县| 漠河县| 内乡县| 万盛区| 区。| 九台市| 扎兰屯市| 基隆市| 揭阳市| 漾濞| 大安市| 苗栗县| 五台县| 葫芦岛市| 瓦房店市| 中牟县| 巩义市| 东宁县| 建湖县| 西乌珠穆沁旗| 榆社县| 龙川县| 阜阳市| 米易县| 普定县| 凤凰县| 万安县| 黑水县| 东乡族自治县| 汉源县| 中西区| 屯昌县| 伽师县| 万全县| 芦溪县| 苍山县| 安徽省| 广汉市| 吐鲁番市|