• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 55  文章 - 15  trackbacks - 0
            <2012年4月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            即保持預處理宏的效率又增加安全性,而且還能像一般成員函數一樣在內里面訪問自如--內聯函數。
            宏的優點:減少了調用函數的開銷。缺點:像一個函數,但是有時會帶來副作用,不能訪問類成員。
            內聯函數:類里面的宏,但是會被編譯器檢查參數和返回值。同樣不需要函數調用的開銷。
            應該把內聯函數寫在頭文件中。當編譯器看到這個定義時,它把函數類型(函數名+返回值)和函數體都放到符號表中。當使用函數時,編譯器檢查以確保調用時正確的,且返回值被正確使用,最后將函數調用替換為函數體。在函數定義前寫上inline.
            內聯函數很特殊,在每個用到該函數的文件中,不會出現多個定義錯誤的情況。
            有時候創建的類成員函數都是內聯函數的時候,可以把整個類放在頭文件中。
            當內聯函數遇到編譯器
            對于任意函數,編譯器在它的符號表中放入函數類型(函數原型,參數,返回值)。
            1. 裝入符號表:當編譯器看到內聯函數然后對內聯函數體分析沒有發現錯誤之后,就將函數體也放入符號表。
            2. 替換函數:當調用時,編譯器先確保調用確,即所有參數類型必須滿足,假如函數類型信息符合調用上下文(返回值也被合理利用),內聯函數代碼就會直接替換函數調用。
            兩種情況不能執行內聯:
            1. 函數太復雜。
            2. 取函數地址。
            向前引用:
            class Forward
            {
            int i;
            public:
            Forward():i(0){}
            int f() const { return g() + 1;}// right
            int g() const { return i;}
            };

            c++語言規定,只有在類聲明結束后,內聯函數才會被計算。所以,不用擔心沒有聲明就被調用的情況。


            字符串定義和粘貼
            #define TRACE(s) cerr << #s << endl; s
            for(int i = 0; i <100 ; i++)
            TRACE(f(i));// cerr << "f(0)" <<endl; f(0);


            #define FIELD(a) char* a##_STRING; int a##_size

            FIELD(one);
            //char* one_string;
            //int one_size;



            posted on 2012-05-30 16:45 Dino-Tech 閱讀(253) 評論(0)  編輯 收藏 引用
            国产精品久久久久久福利漫画 | 色噜噜狠狠先锋影音久久| 久久久久高潮毛片免费全部播放 | 亚洲AV日韩精品久久久久| 国内精品伊人久久久久| 色欲综合久久躁天天躁| 精品无码久久久久久尤物| 亚洲国产成人精品女人久久久 | 亚洲国产美女精品久久久久∴| 99久久精品无码一区二区毛片 | 国内精品久久久久影院免费| 午夜精品久久久久成人| 99久久无色码中文字幕| 久久天天躁狠狠躁夜夜avapp| 99久久综合狠狠综合久久| 精品久久人妻av中文字幕| 2021久久精品免费观看| 久久人人爽人人爽人人片AV麻豆 | 久久精品免费全国观看国产| 91精品国产综合久久香蕉 | 久久九九久精品国产免费直播| www性久久久com| 国产美女久久精品香蕉69| 亚洲国产精品无码久久一线| 亚洲欧美国产日韩综合久久 | 亚洲精品无码久久久久去q | 国内精品久久久久久麻豆| 色综合久久最新中文字幕| 国产亚洲欧美成人久久片| 久久99精品久久久久久久不卡| 亚洲色大成网站www久久九| 伊人久久综合成人网| 亚洲精品乱码久久久久久| av色综合久久天堂av色综合在| 亚洲一级Av无码毛片久久精品| 久久精品成人影院| 亚洲欧洲中文日韩久久AV乱码| 久久久亚洲裙底偷窥综合| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久偷看各类wc女厕嘘嘘| 高清免费久久午夜精品|