• <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| 婷婷综合久久中文字幕蜜桃三电影| 伊人久久综合无码成人网| 中文字幕乱码久久午夜| 久久精品中文闷骚内射| 久久青草国产精品一区| 亚洲国产成人久久综合一区77| 久久亚洲sm情趣捆绑调教| 国产精品久久久久久久| 亚洲人成网站999久久久综合| 国内精品久久久久久久久电影网| 久久久无码一区二区三区 | 亚洲国产精品久久久久网站| 久久精品夜色噜噜亚洲A∨| 久久香综合精品久久伊人| 久久最近最新中文字幕大全| 久久精品国产乱子伦| 亚洲一本综合久久| 无码伊人66久久大杳蕉网站谷歌| 久久婷婷久久一区二区三区| 久久精品国产99国产精品亚洲| 青青国产成人久久91网| 久久精品一本到99热免费| 伊人久久亚洲综合影院| 久久精品夜色噜噜亚洲A∨ | 久久久久久青草大香综合精品| 伊人久久综合无码成人网| 欧美精品福利视频一区二区三区久久久精品 | 999久久久国产精品| 久久久久99精品成人片欧美| 久久久久久国产a免费观看黄色大片 | 日韩电影久久久被窝网| 亚洲国产成人久久精品影视| 色综合久久久久综合体桃花网| 亚洲精品成人久久久| 久久久久亚洲AV成人网人人软件| 伊人色综合久久天天| 国产精品青草久久久久福利99| 亚洲国产精品热久久| 久久美女人爽女人爽|