• <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++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              42 隨筆 :: 0 文章 :: 119 評論 :: 0 Trackbacks
               原創 visualfc
              
               boost::any的構造函數不支持字符數組的直接賦值,即
               boost::any a1("ok");  //error
               boost::any a2 = "ok"; //error
               是無法編譯通過的。

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

               第二種方法是通過修改boost::any源代碼來實現字符數組的直接賦值,實現思路是在boost::any的構造函數中將字符數組轉換為字符指針, boost::any的構造函數代碼如下:
                    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))
                    {
                    }
               現在修改后的boost::any可以支持字符數組操作,如下:
               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);

               當然,本文的最終目的不是建議讀者去修改boost::any的源代碼,僅在于提供一種思路和方法以供參考。
              
            posted on 2008-10-14 10:21 visualfc 閱讀(1611) 評論(0)  編輯 收藏 引用 所屬分類: C++
            日韩乱码人妻无码中文字幕久久| 精品综合久久久久久98| 亚洲AV无码久久精品色欲| 一本久久综合亚洲鲁鲁五月天| 久久精品麻豆日日躁夜夜躁| 中文字幕日本人妻久久久免费 | 久久久久久久久久久| 超级97碰碰碰碰久久久久最新| 久久人人青草97香蕉| 久久精品无码专区免费青青| 久久久中文字幕日本| 97久久超碰成人精品网站| 狠狠精品干练久久久无码中文字幕 | 久久久久久亚洲精品无码| 婷婷久久精品国产| 日韩一区二区久久久久久| 亚洲国产成人精品无码久久久久久综合| 久久伊人五月丁香狠狠色| 伊人久久精品线影院| 久久综合久久综合久久| 97久久国产露脸精品国产| 亚洲欧美日韩精品久久亚洲区| 麻豆精品久久精品色综合| 国产精品国色综合久久| 亚洲色大成网站www久久九| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 99久久精品免费看国产一区二区三区 | 亚洲国产二区三区久久| 72种姿势欧美久久久久大黄蕉| 中文字幕无码精品亚洲资源网久久 | 国产精品久久久久久搜索| 狠狠干狠狠久久| 欧美亚洲另类久久综合婷婷| 久久伊人精品一区二区三区| 欧美一区二区久久精品| 亚洲欧美日韩久久精品第一区 | 久久偷看各类wc女厕嘘嘘| 久久久久免费看成人影片| 欧美日韩精品久久久久| 91久久精品91久久性色| 韩国三级中文字幕hd久久精品|