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

力為的技術博客

聯系 聚合 管理
  154 Posts :: 1 Stories :: 561 Comments :: 0 Trackbacks

在使用boost::any 和 boost::variant的過程中遇到幾個小問題,按個人理解對二者做了一下比較。令人最遺憾的是boost::any與boost::serialization 不兼容。 More...


boost::any
* 非模板類
這意味著即時是跨dll也可以方便地使用,支持無限種變量。
* boost::serialization
不支持。有人對此進行了激烈的討論,在這里

boost::variant
* 模板類
由于模板參數的限制(支持的變量類型需要列在模板參數列表里),因而只支持有限種變量。
如果需要跨DLL使用,聲明處需要引用所有需要的變量
* 基于stack
這意味著對于動態創建的對象,內存需要自己管理。
* 支持boost::serialization 

 

 

 Boost::any

Boost::variant

是否模板類

基于stack

是也不是

是否支持boost:: serialization



#ifdef _USE_ANY
    typedef boost::any AcVariant;
#else
    typedef boost::variant
<int, AcString, AcObjectId, floatdouble
        AcPoint3F, AcColor, AcTrf3F
> AcVariant;
#endif 


    
//////////////////////////////////////////////////////////////////////////
    template<typename T>
    inline 
bool fromVariant(const AcVariant& var, T& value)
    
{
#ifdef _USE_ANY
        
try
        
{
            value 
= boost::any_cast<T>(var);
            
return true;
        }

        
catch(const boost::bad_any_cast &)
        
{
            
return false;
        }

#else
        value 
= boost::get<T>(var);
#endif
        
return true;

    }


    template
<typename T>
    inline T fromVariant(
const AcVariant& var)
    
{
#ifdef _USE_ANY
        
return boost::any_cast<T>(var);
#else
        
return  boost::get<T>(var);
#endif


    }
posted on 2008-03-29 19:54 力為 閱讀(7589) 評論(5)  編輯 收藏 引用 所屬分類: 5. GP&STL&BOOST

評論

# re: boost::any 與 boost::variant 的區別 2008-03-31 02:29 eXile
.......我來解釋一下吧,
any與variant的最大區別在于效率, any內部實現中使用動態分配, 而variant內部使用棧式分配.
variant為對象聯合, 比如說variant<int, std::string>, 你可以理解成下列結構: union { int v1; std::string v2; };  回復  更多評論
  

# re: boost::any 與 boost::variant 的區別 2008-03-31 15:09 力為
歡迎拋磚頭~  回復  更多評論
  

# re: boost::any 與 boost::variant 的區別 2008-03-31 22:34 eXile
呵呵,一般情況下,你都應該使用any, 而variant為了提高那么一點點效率, 費的那個勁....
如果要提高效率的話, 可以選擇 boost::shared_ptr<void>來代替any  回復  更多評論
  

# re: boost::any 與 boost::variant 的區別 2008-04-02 11:13 力為
@eXile
但any不支持boost::serialization,這一點不知道1.35有沒有解決掉。  回復  更多評論
  

# re: boost::any 與 boost::variant 的區別 2011-12-16 15:39 decentman
這個可不能亂理解,string可不能放到union里面@eXile
  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久天天躁狠狠躁夜夜av| 欧美日韩一区二区三区在线观看免 | 亚洲六月丁香色婷婷综合久久| 亚洲女同性videos| 在线精品视频一区二区三四| 亚洲国产成人91精品| 99国产精品久久久久久久成人热| 国模精品娜娜一二三区| 欧美天堂亚洲电影院在线播放| 欧美插天视频在线播放| 久久黄金**| 欧美一区二区啪啪| 欧美一区二区三区成人| 久久国产精品毛片| 欧美一乱一性一交一视频| 亚洲视频免费在线观看| 一本久道久久综合婷婷鲸鱼| 日韩午夜激情| 国产精品99久久久久久白浆小说 | 欧美顶级大胆免费视频| 久久人人九九| 亚洲私拍自拍| 亚洲高清资源综合久久精品| 欧美黄色视屏| 亚洲国产天堂久久国产91| 黄网动漫久久久| 国产综合色产在线精品| 在线电影一区| 亚洲人成啪啪网站| 一区二区三区日韩精品视频| 国产精品99久久久久久久vr| 亚洲欧美成人一区二区在线电影| 性伦欧美刺激片在线观看| 久久精品中文字幕免费mv| 麻豆国产精品va在线观看不卡| 久久国产精品久久久| 亚洲欧美日韩视频一区| 欧美亚洲综合网| 久久永久免费| 亚洲人成毛片在线播放| 中文欧美在线视频| 亚洲视频一区在线| 亚洲天堂av图片| 欧美在线免费看| 美女黄色成人网| 国产亚洲欧美日韩在线一区| 欧美亚洲一区二区在线观看| 久久精品国产99国产精品| 蜜臀va亚洲va欧美va天堂| 欧美日韩综合久久| 国产九九精品| 亚洲免费电影在线观看| 久久综合网络一区二区| 午夜欧美视频| 国产精品美女www爽爽爽| 免费成人av在线| 伊人久久男人天堂| 久久精品99无色码中文字幕| 在线综合亚洲| 欧美体内谢she精2性欧美| 在线一区二区三区做爰视频网站| 亚洲激情偷拍| 欧美精品 国产精品| 亚洲精品一区二区三| 亚洲黄色小视频| 欧美福利精品| 一区二区激情| 一区二区三区高清不卡| 国产精品porn| 欧美一级成年大片在线观看| 午夜精品久久久久久久99樱桃| 国产精品私拍pans大尺度在线 | 国产综合色在线视频区| 久久午夜国产精品| 久久久www免费人成黑人精品| 国产精品乱人伦一区二区 | 这里只有精品视频在线| 99国产精品久久久久久久成人热| 欧美女同在线视频| 亚洲线精品一区二区三区八戒| 亚洲毛片视频| 国产精品久久久久9999高清| 亚洲在线免费| 久久精品女人的天堂av| 国产在线日韩| 久久精品在线视频| 亚洲一区二区三区四区中文 | 国产一二三精品| 免费在线视频一区| 欧美视频在线观看视频极品| 欧美日韩国产综合网| 午夜精品福利在线| 亚洲自拍另类| 在线电影欧美日韩一区二区私密| 亚洲国产一区二区三区在线播 | 午夜精品久久久久久久| 美女福利精品视频| 欧美一区二区三区在| 欧美专区日韩视频| 久久久99爱| 99国产精品久久久| 亚洲天堂av在线免费观看| 国产日韩一区二区| 欧美成人一区二区三区在线观看 | 美女脱光内衣内裤视频久久影院 | 久久av在线| 99国产一区| 欧美自拍偷拍| 99伊人成综合| 久久九九热免费视频| 亚洲综合精品四区| 久久夜色精品亚洲噜噜国产mv | 国产精品女主播在线观看| 米奇777在线欧美播放| 欧美精品在线网站| 久久国内精品视频| 欧美另类高清视频在线| 久久久xxx| 欧美日韩精品一二三区| 欧美成人亚洲成人| 国产精品久久久久高潮| 久久久免费av| 国产精品午夜国产小视频| 亚洲精品看片| 在线播放一区| 欧美一区二区| 亚洲夜间福利| 欧美日产一区二区三区在线观看| 麻豆国产精品va在线观看不卡| 国产欧美日韩另类一区| 亚洲免费视频在线观看| 亚洲毛片一区二区| 欧美不卡高清| 欧美激情91| 亚洲国产一区视频| 久久久久综合网| 欧美成人xxx| 亚洲国产你懂的| 欧美插天视频在线播放| 欧美sm极限捆绑bd| 国内精品免费午夜毛片| 久久久久国产成人精品亚洲午夜| 久久精品综合一区| 国内外成人在线视频| 午夜亚洲一区| 久久久久国产精品午夜一区| 韩国在线视频一区| 久久久999| 欧美超级免费视 在线| 最新国产成人在线观看| 欧美日本亚洲视频| 中文国产一区| 在线观看日韩| 欧美成人精品高清在线播放| 亚洲国产高清在线| 麻豆精品视频在线观看| 欧美国产日韩xxxxx| 日韩视频免费观看| 欧美午夜精品久久久久久久| 亚洲性线免费观看视频成熟| 久久精品人人爽| 亚洲黄色一区二区三区| 欧美精品v日韩精品v国产精品 | 亚洲三级国产| 香蕉久久久久久久av网站| 国产欧美一区二区在线观看| 久久精品国产免费看久久精品| 亚洲第一中文字幕| 亚洲免费一在线| 国内成人精品视频| 欧美黄色aa电影| 午夜在线一区二区| 欧美国产先锋| 翔田千里一区二区| 91久久国产精品91久久性色| 国产精品mv在线观看| 久久综合九色九九| 在线综合亚洲| 亚洲国产另类精品专区| 羞羞色国产精品| 亚洲精品欧美精品| 国产一区二区三区免费不卡 | 亚洲伦理中文字幕| 久久九九全国免费精品观看| 亚洲欧洲精品一区二区| 国产精品丝袜白浆摸在线| 欧美岛国激情| 久久天天狠狠| 亚洲综合视频在线| 日韩午夜在线播放| 欧美成人一区二区三区| 欧美在线你懂的| 中日韩视频在线观看| 1204国产成人精品视频| 国产精品久久久久9999吃药| 免费看成人av| 久久久久9999亚洲精品| av成人免费| 亚洲福利视频一区| 久久久噜久噜久久综合|