青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Windreamer Is Not a DREAMER
main(){main(puts("Hello,stranger!"));}

終于無(wú)聊到來(lái)寫書評(píng),最近的項(xiàng)目一直都沒和C++有什么關(guān)系,不過(guò)看的書卻都是C++方面的,而最近看到的幾本書中感覺最好的莫過(guò)于這本《C++ Templates》

Nicolai M. Josuttis的書我很喜歡,從他的那本《The C++ Standard Template Library》就看出了他很多獨(dú)特的風(fēng)格,令我愛不釋手,所以這本《C++ Template》   也進(jìn)入了我的必看書單。粗讀之后,感覺整本書絕對(duì)將成為C++泛型領(lǐng)域的圣經(jīng)級(jí)著作

  1. 這本書角度選得很好,全書分三個(gè)部分,分別介紹模板基礎(chǔ)、模版的編譯器實(shí)現(xiàn)、模板的高級(jí)技巧,三個(gè)部分相輔相成、相互照應(yīng),由淺入深而又自然而然,還方便分開閱讀(比如我就重點(diǎn)看了第一第三部分,模版實(shí)現(xiàn)被我略過(guò)了)卻又全面覆蓋了這一領(lǐng)域
  2. 這本書英文很淺顯(比《Modern C++ Design》淺顯了不知多少倍),語(yǔ)言嚴(yán)謹(jǐn)而又不晦澀,尤其要贊的就是廢話尤其地少!
  3. 章節(jié)安排很合理,很方別作為工具書應(yīng)急查閱(《C++STL》就有這個(gè)優(yōu)點(diǎn),與這本書科學(xué)家+工程師的組合不無(wú)關(guān)系)
  4. 書中好多技術(shù),我是聞所未聞,驚為天人,尤其第三部分,可以算得上眼花繚亂,而且給出的實(shí)現(xiàn)感覺既符合標(biāo)準(zhǔn)、實(shí)用、而且沒有炫技的成分

同類書籍據(jù)我所知沒有可以達(dá)到這個(gè)高度的,大部分C++泛型方面的專著只局限于怎么用STL,將模板基礎(chǔ)的書,也僅限于最表面的語(yǔ)法,像模版參數(shù)推導(dǎo)這種問(wèn)題鮮有涉及,更不用提關(guān)于Metaprogramming,這本書圣經(jīng)的地位估計(jì)后人也是難以企及了。

下面是我看書時(shí)畫下來(lái)的一些覺得自己平時(shí)應(yīng)該注意的地方,放在這里做備忘好了

  1. (P12) [Argument Deducion] If we pass two ints to the parameter type T const&  the C++ compiler must conclude that T must be int. Note that no automatic type conversion is allowed here,Each T must match exactly.

    template <typename T>
    inline T 
    const& max (T const& a,T const& b);

    max(
    4,7)//OK:T is int for both arguments
    max(4,4.2)//ERROR:first T is int,second T is double

  2. (P13)[Template Parameters] In function templates(unlike class template) no default template arguments can be specified
  3. (P14)[Template Parameters]Deducation can be seen as part of  overlaod resolution-a process tha is not based on selection of return type either.The sole exception is the return type of conversion operator members.
  4. (P18)[Overloading Function Template] The fact that not all overloaded functions are visible when a corresponding function call is made may or may not matter.
  5. (P39)[Nontype Function Template Parameters] Function templates are considered to name a set of overloaded function.However,according to the current standard,sets of overload functions cannot be used for template parameter deducation.Thus you have to cast to the exactly type of the function template arguments

    template <typename T,int VAL>
    T addValue (T 
    const& x)
    {
        
    return x+VAL
    }


    std::transform(source.begin(),source.end(),
    //start and end of source
    dest.begin(),//start of destination
    (int(*)(int  const&))addValue<int,5>);//operation

  6. (P40)[Restrictions for Nontype Template Parameters] 太長(zhǎng)了,略過(guò)
  7. (P44)[The .template Construct]

    template <int N>
    void printBitset (std::bitset<N> const& bs)
    {
        std::cout
    <<bs.to_string<char,char_traits<char>,allacator<char> >();//ERROR:can't recogonize the template
    }


    template 
    <int N>
    void printBitset (std::bitset<N> const& bs)
    {
        std::cout
    <<bs.template to_string<char,char_traits<char>,allacator<char> >();//OK
    }

  8. (P45)[Using this->]

    template <typename T>
    class Base
    {
    public:
        
    void bar();
    }
    ;

    template 
    <typename T>
    class Derived : Base<T>
    {
    public:
        
    void foo()
        
    {
            bar();
    //call external bar() or error
        }

    }


    template 
    <typename T>
    class Derived : Base<T>
    {
    public:
        
    void foo()
        
    {
            
    this->bar();//OK
        }

    }

  9. 同樣精彩的還有(P57)[Using String Literals as Arguments for Function Templates]
  10. 令我驚異的SFINE技術(shù)(substitution-failure-is-not-an-error)

    template <typename T>
    class IsClassT
    {
    private:
        typedef 
    char One;
        typedef 
    struct {char a[2];} Two;
        template 
    <typename C> static One test (int::C*);
        template 
    <typename C> static Two test();
    public:
        
    enum {Yes=sizeof(IsClassT<T>::test<T>(0))==1};
        
    enum {No=!Yes};
    }
    ;

總而言之,此書帶給了我前所未有的閱讀享受......我今年震撼大獎(jiǎng)一定會(huì)投它一票
posted on 2005-12-10 12:36 Windreamer Is Not DREAMER 閱讀(636) 評(píng)論(3)  編輯 收藏 引用 所屬分類: Generic
Comments

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美经典视频| 免费久久精品视频| 亚洲性夜色噜噜噜7777| 国产精品啊啊啊| 亚洲综合日韩在线| 亚洲欧美国产毛片在线| 国产偷国产偷精品高清尤物| 久久久精品一区| 久久婷婷综合激情| 亚洲另类视频| 亚洲影院污污.| 精品69视频一区二区三区| 欧美jizz19hd性欧美| 欧美成在线观看| 亚洲欧美日韩综合一区| 欧美一区三区三区高中清蜜桃| 1024国产精品| 夜夜嗨av一区二区三区网站四季av| 国产精品青草久久| 欧美69视频| 欧美私人网站| 美女日韩欧美| 国产精品久久久久9999| 欧美国产一区视频在线观看| 欧美日韩在线观看一区二区| 久久精品一区二区| 欧美精品一区二区三区四区 | 欧美午夜在线| 美女视频一区免费观看| 欧美日韩亚洲天堂| 免费日本视频一区| 国产精品你懂的| 亚洲高清一区二| 国产精品国产三级国产| 欧美高清在线| 国产一区二区三区在线观看网站 | 国产精品美女久久久| 美女爽到呻吟久久久久| 国产精品午夜春色av| 亚洲国产美国国产综合一区二区| 国产欧美一区二区精品仙草咪| 欧美激情第3页| 国产一区二区三区黄视频| 一本久久a久久免费精品不卡 | 欧美日韩国产在线| 麻豆国产精品va在线观看不卡| 国产精自产拍久久久久久蜜| 亚洲欧洲视频在线| 亚洲激情不卡| 久久久久国产一区二区三区四区 | 亚洲国产成人av| 性高湖久久久久久久久| 亚洲欧美日韩一区二区在线 | 欧美激情一区二区三区在线| 美女久久一区| 亚洲第一黄色| 久久久人成影片一区二区三区观看| 久久av一区二区三区| 国产精品黄视频| 亚洲特级片在线| 午夜精品视频一区| 国产精品免费网站在线观看| 亚洲一区二区三区在线| 亚洲欧美日韩综合aⅴ视频| 欧美午夜视频网站| 亚洲一区二区三区中文字幕在线 | 亚洲一区二区毛片| 欧美午夜宅男影院| 亚洲视频在线观看三级| 亚洲一区二区三区影院| 国产精品国产三级欧美二区| 中文国产成人精品| 香蕉成人久久| 国内偷自视频区视频综合| 欧美专区日韩专区| 男男成人高潮片免费网站| 亚洲国产欧美日韩另类综合| 欧美人与禽猛交乱配视频| 中文一区在线| 久久久精品国产99久久精品芒果| 国产亚洲网站| 奶水喷射视频一区| 日韩视频在线一区二区三区| 午夜久久tv| 精品999在线播放| 欧美国产日韩xxxxx| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 久久国产一区二区| 欧美激情四色| 亚洲欧美国产va在线影院| 国产日本欧美在线观看| 久久嫩草精品久久久久| 亚洲人成在线播放网站岛国| 亚洲欧美综合v| 亚洲国产成人av在线| 欧美视频久久| 久久精品123| 日韩视频免费看| 久久亚洲综合网| 国产精品99久久99久久久二8| 国产视频精品xxxx| 欧美国产视频日韩| 亚洲一区二区三区在线视频| 欧美sm重口味系列视频在线观看| 亚洲一区二区三区777| 国内揄拍国内精品少妇国语| 欧美精品首页| 久久久久久亚洲精品中文字幕| 99re国产精品| 欧美国产综合视频| 欧美在线观看网站| 亚洲麻豆av| 尤物九九久久国产精品的分类| 欧美视频在线看| 欧美激情一二三区| 久久亚洲一区二区三区四区| 午夜在线观看免费一区| 日韩午夜激情| 亚洲国产精品t66y| 麻豆91精品| 久久久91精品国产一区二区三区| 一区二区三区四区蜜桃| 亚洲国产你懂的| 一区精品久久| 国产在线精品自拍| 国产精品欧美日韩久久| 欧美日本不卡视频| 欧美凹凸一区二区三区视频| 久久久久高清| 欧美在线网址| 午夜欧美大片免费观看| 亚洲视频综合| 亚洲香蕉伊综合在人在线视看| 日韩一二在线观看| 亚洲人成网站精品片在线观看 | 亚洲乱码国产乱码精品精可以看 | 亚洲永久免费观看| 国产精品99久久久久久白浆小说| 亚洲欧洲精品天堂一级| 亚洲日韩视频| 亚洲精品小视频在线观看| 亚洲国产精品精华液网站| 激情久久一区| 亚洲黄色一区二区三区| 亚洲老板91色精品久久| 99这里只有精品| 在线视频中文亚洲| 午夜伦理片一区| 欧美在线观看天堂一区二区三区| 欧美中文在线字幕| 久久精品夜色噜噜亚洲aⅴ| 久久久久久噜噜噜久久久精品| 久久久久久高潮国产精品视| 久久免费视频在线| 奶水喷射视频一区| 亚洲日韩中文字幕在线播放| 中国亚洲黄色| 久久精品在线视频| 美国成人直播| 欧美日韩1234| 国产精品亚洲美女av网站| 国产一区二区成人| 亚洲国产91精品在线观看| 99综合在线| 欧美一区二区视频免费观看| 久久久久久久网| 亚洲高清资源综合久久精品| 一区二区三区日韩精品视频| 午夜精品短视频| 欧美高清在线一区二区| 欧美先锋影音| 在线欧美视频| 亚洲欧美日韩精品久久久| 久久久久一本一区二区青青蜜月| 欧美激情精品久久久久久黑人| 一区二区日韩欧美| 久久久久国产免费免费| 欧美日韩中文另类| 韩日精品视频一区| 中文日韩欧美| 久久综合久久久| 洋洋av久久久久久久一区| 久久中文字幕一区二区三区| 欧美日韩一区精品| 在线看片成人| 欧美一级免费视频| 91久久精品国产91性色| 欧美在线网址| 国产精品毛片va一区二区三区| 亚洲国产第一页| 久久精品99国产精品日本| 一本到高清视频免费精品| 久久久激情视频| 国产精品一区二区三区观看 | 国产欧美日韩视频在线观看| 99热在这里有精品免费| 久久久久看片| 亚洲欧美www| 国产精品第13页| 一级日韩一区在线观看|