• <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++ 炒冷飯
            久久久久久精品无码人妻| 久久99国产综合精品免费| 久久久青草久久久青草| 久久久综合九色合综国产| 国产午夜精品理论片久久 | 一本一道久久a久久精品综合| 久久亚洲国产精品123区| 亚洲国产另类久久久精品黑人| 麻豆成人久久精品二区三区免费| 一本大道加勒比久久综合| 久久久久久久综合狠狠综合| 狠狠色丁香久久综合五月| 三级片免费观看久久| 91久久精品91久久性色| 久久无码AV一区二区三区| 国产ww久久久久久久久久| 久久精品欧美日韩精品| 亚洲欧美精品一区久久中文字幕 | 欧美日韩精品久久免费| 精品国产一区二区三区久久| 久久久久久亚洲精品影院| 久久精品国产亚洲5555| 国产成年无码久久久久毛片| 久久人人青草97香蕉| 久久精品一区二区影院| 国产69精品久久久久777| 久久亚洲国产精品成人AV秋霞| 久久国产精品免费一区| 99久久精品免费看国产一区二区三区| 亚洲AV日韩精品久久久久久 | 久久无码人妻一区二区三区| 色综合久久夜色精品国产| 久久久久国产视频电影| 伊人久久精品线影院| 国产精品青草久久久久婷婷| 国产成人无码久久久精品一| 新狼窝色AV性久久久久久| 色欲综合久久中文字幕网| 日韩人妻无码精品久久免费一 | 中文字幕无码av激情不卡久久| 久久精品无码免费不卡|