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

            visualfc

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              42 隨筆 :: 0 文章 :: 119 評論 :: 0 Trackbacks
               原創(chuàng) visualfc
              
               boost::any的構(gòu)造函數(shù)不支持字符數(shù)組的直接賦值,即
               boost::any a1("ok");  //error
               boost::any a2 = "ok"; //error
               是無法編譯通過的。

               第一種方法是可以通過char*和std::string來進(jìn)行賦值。即:
               char str[] = "ok";
               boost::any a1(&str[0]);
               boost::any a2 = std::string("ok");

               第二種方法是通過修改boost::any源代碼來實(shí)現(xiàn)字符數(shù)組的直接賦值,實(shí)現(xiàn)思路是在boost::any的構(gòu)造函數(shù)中將字符數(shù)組轉(zhuǎn)換為字符指針, boost::any的構(gòu)造函數(shù)代碼如下:
                    template<typename ValueType>
                    any(const ValueType & value)
                    : content(new holder<ValueType>(value))
                     {
                    }
               修改后代碼如下:
                   在boost/any.hpp中需要添加 #include <boost/type_traits/decay.hpp>

                    template<typename ValueType>
                    any(const ValueType & value)
                     : content(new holder<boost::decay<ValueType>::type>((boost::decay<ValueType>::type)value))
                    {
                    }
               現(xiàn)在修改后的boost::any可以支持字符數(shù)組操作,如下:
               boost::any a1("ok");
               boost::any a2 = "ok";
               char buf[] = "ok";
               boost::any a3(buf);
               boost::any a4 = buf;
               char * c1 = boost::any_cast<char*>(a1);
               char * c2 = boost::any_cast<char*>(a2);

               當(dāng)然,本文的最終目的不是建議讀者去修改boost::any的源代碼,僅在于提供一種思路和方法以供參考。
              
            posted on 2008-10-14 10:21 visualfc 閱讀(1598) 評論(0)  編輯 收藏 引用 所屬分類: C++
            日韩精品久久久肉伦网站| 国产精品99久久久精品无码| 精品久久久中文字幕人妻| 伊人久久亚洲综合影院| 久久亚洲AV成人无码国产| 久久久精品波多野结衣| 一级做a爰片久久毛片看看| 久久无码高潮喷水| 久久九九青青国产精品| 色偷偷88欧美精品久久久 | 久久亚洲精品中文字幕| 国产一区二区三精品久久久无广告| 999久久久免费国产精品播放| 久久人人爽人人人人爽AV | 色欲av伊人久久大香线蕉影院| 久久久SS麻豆欧美国产日韩| 77777亚洲午夜久久多人| 亚洲AV乱码久久精品蜜桃| 久久综合九色综合精品| 午夜精品久久久久久久无码| 国产精品中文久久久久久久| 久久久噜噜噜久久熟女AA片| 情人伊人久久综合亚洲| 亚州日韩精品专区久久久| 久久婷婷五月综合97色| 久久久久99精品成人片三人毛片 | 99久久婷婷国产综合亚洲| 欧美久久综合性欧美| 2021最新久久久视精品爱| 四虎国产精品成人免费久久| 久久99中文字幕久久| 久久久亚洲欧洲日产国码二区| 人妻丰满?V无码久久不卡| 狠狠人妻久久久久久综合蜜桃| 亚洲一区二区三区日本久久九| 国产三级久久久精品麻豆三级| 精品久久久久久无码人妻热| 青青草国产成人久久91网| 91久久精一区二区三区大全| 久久丫精品国产亚洲av不卡| 少妇精品久久久一区二区三区 |