• <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>

            Note of Justin

            關于工作和讀書的筆記

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              47 Posts :: 0 Stories :: 45 Comments :: 0 Trackbacks

            留言簿(14)

            搜索

            •  

            積分與排名

            • 積分 - 52710
            • 排名 - 433

            最新評論

            閱讀排行榜

            評論排行榜



            [原創文章歡迎轉載,但請保留作者信息]
            Justin 于 2010-05-14


            本課大師要(大概地)講講模板元編程(Template Metaprogramming, TMP)。

            TMP的生命很短,只活在程序編譯期間,最終代碼生成后,模板元編程的使命就完成了。

            大師說TMP有兩個重要的作用,由于它是在程序編譯期間運行的,于是:
            1. 模板元編程使得一些很難或是不可能完成的任務變得很簡單。
            2. 它可以把程序運行期的一些工作轉移到程序的編譯期。

            第一個作用說了等于沒說@#¥%,我還沒領悟出來。
            第二個左右倒是比較容易理解的,好處也很多:把運行期的工作轉移到編譯期,程序運行時的錯誤就可以在編譯期跑出來得到糾正;最終代碼也會變小,運行時間變短,需要的內存也會變少,等等。當然,代價就是編譯時間會變長。

            由于C++本身并沒有提供可以直接進行模板元編程的機制,所以需要用一些旁門左道來實現TMP。下面來回顧一下上課的內容:

            程序的元素之一就是判斷分支,一般的語言里會有if-then-else之類的工具可以使用,在C++的模板元編程中,就沒有那么直觀了。我們需要用到模板+重載(是不是想到了traits?)。
            例子直接看上一課的筆記就行了:要不要吃面前的食物呢?如果是芝士堡我就吃,如果是芥末我就不吃。這個判斷的過程在編譯期就已經完成了,到了程序運行的時候就省去了這一步。

            程序中的另外一個要素就是循環,用for/while實現循環已經是條件反射了,不過在C++模板元編程的世界,沒有現成的for/while可以用。我們可以用的是函數的嵌套來實現TMP中的循環。(例子我舉不出比書上更好的,就去看書里的吧@#¥%)

            當然,不要以為讀了第48章就可以號稱懂模板元編程了。大師這一課的題目是“要知道模板元編程這么一回事”(Be aware of template metaprogramming)。是否真正掌握到這門左道,還是要看后面個人的造化了……
            posted on 2010-05-14 09:49 Justin.H 閱讀(698) 評論(0)  編輯 收藏 引用 所屬分類: Effective C++ 炒冷飯
            久久精品人人槡人妻人人玩AV | 久久精品国产亚洲精品| 91精品国产综合久久四虎久久无码一级| 亚洲AV无码一区东京热久久| 国产精品久久久久AV福利动漫| 久久精品国产亚洲欧美| 中文成人无码精品久久久不卡| 中文字幕久久波多野结衣av| 青青草原综合久久大伊人精品| 日韩影院久久| 91久久精品国产91性色也| 久久久精品久久久久影院| 婷婷综合久久狠狠色99h| 一本色道久久88精品综合| 久久久精品久久久久特色影视| 人妻精品久久无码区| 久久丫忘忧草产品| 韩国三级中文字幕hd久久精品 | 久久只这里是精品66| 2022年国产精品久久久久| 久久精品中文字幕一区| 久久免费视频一区| 国产精品久久久天天影视香蕉 | 国产伊人久久| 久久国产精品成人免费| 久久亚洲日韩精品一区二区三区| 久久亚洲AV无码西西人体| 伊人久久大香线焦综合四虎| 久久丫精品国产亚洲av| 91麻豆国产精品91久久久| 色婷婷狠狠久久综合五月| 久久精品综合一区二区三区| 天天久久狠狠色综合| 国产AV影片久久久久久| 久久精品成人欧美大片| 久久久精品视频免费观看| 久久性精品| 久久婷婷五月综合97色直播| 狠狠色综合网站久久久久久久高清| 一极黄色视频久久网站| 伊人久久大香线蕉亚洲五月天|