• <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>
            隨筆-14  評(píng)論-8  文章-0  trackbacks-0
            先看定義在頭文件中的語句:
            template <bool x> struct STATIC_ASSERTION_FAILURE;
            
            template <> struct STATIC_ASSERTION_FAILURE<true> { enum { value = 1 }; };
            
            template<int x> struct static_assert_test{};
            
            
            使用的是顯示轉(zhuǎn)換
            // Note that the argument to the assert is explicitly cast to bool using old-
            // style casts: too many compilers currently have problems with static_cast
            // when used inside integral constant expressions.
            #elif defined(BOOST_MSVC)
            #define BOOST_STATIC_ASSERT( B ) \
               typedef ::boost::static_assert_test<\
                  sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >)>\ // ***********
                     BOOST_JOIN(boost_static_assert_typedef_, __COUNTER__)
            關(guān)鍵的地方在于 sizeof() 中的句子。當(dāng) (bool)( B ) 為 false 時(shí),因?yàn)闆]有這個(gè)特化版本,編譯器將報(bào)錯(cuò),如
            Beyond the C++ Standard Library: An Introduction to Boost》中所述:
            Error: use of undefined type
            'boost::STATIC_ASSERTION_FAILURE<false>'
            BOOST_JOIN(X, Y) 最終解釋為 X##Y。__COUNTER__ 在 MSDN 中的描述:
            Expands to an integer starting with 0 and incrementing by 1 every time it is used in a compiland.
            每使用一次它就增1。
            posted on 2009-12-04 13:05 崇文 閱讀(865) 評(píng)論(1)  編輯 收藏 引用

            評(píng)論:
            # re: Boost 中的 BOOST_STATIC_ASSERT 2016-04-22 15:59 | 崇文
            2016年4月22日:在沒有看下面的內(nèi)容時(shí),我居然能看懂template <>是第一條語句的特化版,有些東西真的像游泳騎車,難丟難忘,淚流滿面!  回復(fù)  更多評(píng)論
              

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


            久久99国产精品二区不卡| 久久久国产视频| 欧美久久综合性欧美| 国产精品美女久久久久AV福利| 久久久中文字幕| 久久伊人中文无码| 潮喷大喷水系列无码久久精品| 国产精品欧美亚洲韩国日本久久| 久久久久亚洲精品男人的天堂| 久久精品国产亚洲AV影院 | 精品综合久久久久久97超人| 99久久国产主播综合精品| 99久久这里只精品国产免费| 久久精品国产亚洲av麻豆小说| 伊人丁香狠狠色综合久久| 久久久久久国产精品美女| 99久久人人爽亚洲精品美女| 国产美女亚洲精品久久久综合| 亚洲国产二区三区久久| 久久综合给合久久狠狠狠97色| 久久久久亚洲精品中文字幕| 久久精品国产亚洲AV无码娇色| 久久精品一区二区三区AV| 中文成人久久久久影院免费观看| 久久国产热这里只有精品| 久久久久成人精品无码中文字幕 | 热久久国产欧美一区二区精品| 久久综合精品国产二区无码| 伊人久久大香线蕉精品不卡| 国产免费福利体检区久久| 国产精品一区二区久久| 日韩精品无码久久久久久| 久久婷婷五月综合国产尤物app | 欧美精品丝袜久久久中文字幕| 久久香蕉国产线看观看99| 亚洲AV日韩AV天堂久久| 欧美精品乱码99久久蜜桃| 久久综合色区| 亚洲精品成人久久久| 伊色综合久久之综合久久| 国产精品久久久久久久久软件 |