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

            關(guān)于工作和讀書的筆記

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

            留言簿(14)

            搜索

            •  

            積分與排名

            • 積分 - 52490
            • 排名 - 433

            最新評論

            閱讀排行榜

            評論排行榜



            [原創(chuàng)文章歡迎轉(zhuǎn)載,但請保留作者信息]
            Justin 于 2010-05-14


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

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

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

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

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

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

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

            當然,不要以為讀了第48章就可以號稱懂模板元編程了。大師這一課的題目是“要知道模板元編程這么一回事”(Be aware of template metaprogramming)。是否真正掌握到這門左道,還是要看后面?zhèn)€人的造化了……
            posted on 2010-05-14 09:49 Justin.H 閱讀(692) 評論(0)  編輯 收藏 引用 所屬分類: Effective C++ 炒冷飯
            青青热久久国产久精品 | 久久久综合香蕉尹人综合网| 精品人妻伦一二三区久久| 九九久久精品无码专区| 久久精品无码一区二区WWW| 色妞色综合久久夜夜| 99久久精品免费看国产免费| 丁香色欲久久久久久综合网| 久久久久免费精品国产| 国产精品99久久久精品无码| 色偷偷888欧美精品久久久| 久久久久精品国产亚洲AV无码 | 日韩精品国产自在久久现线拍| 思思久久99热免费精品6| 久久久久久国产精品无码超碰| 青青青青久久精品国产h久久精品五福影院1421 | 韩国无遮挡三级久久| 久久成人国产精品免费软件| 蜜桃麻豆www久久| 久久ZYZ资源站无码中文动漫| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 久久成人18免费网站| 国产精品美女久久久久网| 久久无码中文字幕东京热| 久久精品国产72国产精福利| 久久超碰97人人做人人爱| 精品无码久久久久国产动漫3d | 香蕉久久一区二区不卡无毒影院 | 久久精品中文无码资源站| 97精品伊人久久大香线蕉| 久久五月精品中文字幕| 久久国产精品免费一区| 国产精品热久久无码av| 亚洲国产成人久久综合一| 伊人久久大香线蕉影院95| 久久久久久久综合日本亚洲| 久久96国产精品久久久| 久久亚洲精品中文字幕三区| 91久久香蕉国产熟女线看| 久久国产精品偷99| 久久久久国产日韩精品网站|