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

大龍的博客

常用鏈接

統計

最新評論

最簡單的foreach實現(VC & GCC) -------- 轉

     foreach據說已經進了新的C++標準,不過在沒有編譯器支持以前,自己寫一個也很容易。

(1)   foreach 標準用法: 

std::vector<int> vec;
foreach(int i,  vec) {
    std::cout  
<<  i;
}


     
    (2)VC實現

     在最新的VC版本中原來已經有了類似于foreach的支持,改個名字就行了:

#define foreach(var, container)   for each(var in containter)

   
    (3)GCC實現

    GCC沒有內嵌支持,不過由于GCC支持typeof關鍵字, 所以實現起來也不是太難
template <typename C> struct foreach_helper {
    typename C::const_iterator it, end;
    foreach_helper (
const C& c) : it(c.begin()), end(c.end()) {}
};


#define RANDOM_VAR(name, line)    name ## line

#define foreach(var, container)  \
__typeof__(container) 
const&   RANDOM_VAR(_con_, __LINE__) = container; \
for (foreach_helper <__typeof__(container)> _fh_(RANDOM_VAR(_con_, __LINE__)); _fh_.it != _fh_.end; ++_fh_.it) \
for (var = *_fh_.it;; __extension__ ({break;}))

   
    這里有一個特殊的考慮,就是container有可能是一個臨時對象,或者是某個函數的返回值。為了不對容器進行復制,利用了一個不太為人所知的C++特性,就是臨時變量在存在引用時,生命期會由引用變量決定。這樣保證在進行循環時始終有效。
   
   (4)性能

      我分別使用GCC和VC9進行了測試(優化選項都使用O2),結果表明使用foreach和普通的iterator 遍歷幾乎沒有差別。不過gcc的遍歷性能要明顯好于VC9 (用個具有中國特色的結論,就是大約要好五倍),我的測試當然很粗略,不值得相信。

posted on 2009-05-08 20:06 大龍 閱讀(298) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   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>
            亚洲久久一区| 国产人妖伪娘一区91| 国内精品久久久久伊人av| 久久www成人_看片免费不卡| 亚洲一区bb| 国产美女精品在线| 久久精品一区二区国产| 久久久综合视频| 亚洲激情亚洲| 亚洲私人影院在线观看| 国产欧美精品日韩| 蜜臀av性久久久久蜜臀aⅴ| 欧美电影免费观看高清| 亚洲一区二区三区在线视频| 亚洲欧美另类在线观看| 激情综合网址| 亚洲精品欧美日韩| 国产精品视频一区二区高潮| 久久偷看各类wc女厕嘘嘘偷窃| 麻豆成人91精品二区三区| 亚洲在线视频网站| 久久国产精品一区二区| 亚洲免费av电影| 亚洲综合精品一区二区| 亚洲欧洲日韩综合二区| 在线亚洲精品| 亚洲国产午夜| 香蕉久久夜色精品| 99亚洲一区二区| 欧美有码在线观看视频| 一区二区三区av| 久久精品一区二区国产| 国产精品99久久久久久久vr| 久久精品日韩欧美| 亚洲一区二区三区涩| 你懂的国产精品永久在线| 性欧美大战久久久久久久久| 欧美黄色一区二区| 久久在线精品| 国产模特精品视频久久久久 | 欧美精品一区二区蜜臀亚洲| 亚洲欧美日韩在线观看a三区| 免费观看30秒视频久久| 久久爱www久久做| 欧美视频免费在线观看| 亚洲电影网站| 一区二区三区在线免费播放| 亚洲综合不卡| 午夜精品偷拍| 国产精品高潮呻吟| 一区二区三区产品免费精品久久75| 在线精品观看| 久久久国产亚洲精品| 久久成人一区| 国产精品丝袜91| 亚洲四色影视在线观看| 亚洲午夜精品久久久久久浪潮| 欧美成人首页| 亚洲国产91| 亚洲精品久久久久久久久久久久| 久久久久一区| 美女性感视频久久久| 国产婷婷色一区二区三区在线 | 久久国产精品99国产| 香港久久久电影| 国产精品丝袜xxxxxxx| 亚洲午夜精品久久久久久浪潮| 99亚洲视频| 欧美视频二区36p| 一区二区毛片| 亚洲免费在线视频一区 二区| 欧美日韩一区在线观看| 在线亚洲国产精品网站| 午夜精品一区二区三区四区| 国产精品一页| 欧美一级夜夜爽| 女人色偷偷aa久久天堂| 91久久国产综合久久| 亚洲专区欧美专区| 久久九九久精品国产免费直播| 亚洲视频免费在线| 久久久久99| 欧美大秀在线观看| 一本色道久久综合亚洲精品按摩| 欧美屁股在线| 亚洲一区二区av电影| 久久久久国产成人精品亚洲午夜| 黄色成人av网| 欧美国产日韩亚洲一区| 亚洲线精品一区二区三区八戒| 久久国产精品99精品国产| 在线免费精品视频| 欧美片在线播放| 亚洲欧美日韩久久精品| 免费国产一区二区| 一片黄亚洲嫩模| 国产农村妇女精品一二区| 久久久久国产免费免费| av成人手机在线| 狼狼综合久久久久综合网| av成人激情| 国内精品久久久久影院色 | 亚洲国产欧美一区二区三区久久 | 亚洲性人人天天夜夜摸| 国产日韩精品一区二区浪潮av| 久久久久在线观看| 亚洲理论在线观看| 免费久久99精品国产| 亚洲一区二区三区成人在线视频精品| 国产日韩欧美制服另类| 欧美成人中文| 久久久噜噜噜久久| 亚洲视频香蕉人妖| 欧美激情精品久久久久久黑人 | 亚洲美女视频网| 久久青草欧美一区二区三区| 一二三区精品福利视频| 一区在线播放| 国产欧美日韩三级| 国产精品jvid在线观看蜜臀| 理论片一区二区在线| 午夜精品久久久久久久99黑人 | 欧美韩日一区| 亚洲人成人一区二区在线观看 | 久久午夜羞羞影院免费观看| 亚洲精品视频免费观看| 国产视频自拍一区| 国产精品高精视频免费| 欧美黄色免费| 久久躁狠狠躁夜夜爽| 欧美在线观看www| 亚洲在线1234| 亚洲一区二区三区四区视频| 亚洲日本欧美天堂| 亚洲高清不卡av| 亚洲成人中文| 亚洲第一中文字幕| 亚洲国产精品第一区二区| 欧美不卡激情三级在线观看| 久久久久久久尹人综合网亚洲 | 在线观看日产精品| 黄色国产精品| 一区二区三区在线视频免费观看| 韩国av一区| 欧美国产欧美综合| 亚洲乱码国产乱码精品精可以看| 久久另类ts人妖一区二区| 欧美在线视频不卡| 午夜欧美精品久久久久久久| 亚洲欧美中文字幕| 欧美在线免费观看亚洲| 久久久久九九九九| 老司机成人网| 欧美激情一区二区三区| 亚洲第一色中文字幕| 亚洲欧洲精品一区二区三区不卡 | 午夜精品久久久久久99热软件 | 欧美成人精品1314www| 欧美成人免费网| 亚洲激情女人| 亚洲视频香蕉人妖| 一区二区三区四区国产| 久久另类ts人妖一区二区| 亚洲精品国产系列| 一卡二卡3卡四卡高清精品视频| 亚洲视频电影在线| 久久久91精品国产一区二区三区| 久热精品视频在线免费观看| 欧美激情麻豆| 亚洲一品av免费观看| 久久gogo国模裸体人体| 欧美电影在线观看完整版| 欧美无乱码久久久免费午夜一区| 国产女人水真多18毛片18精品视频| 国产亚洲精品自拍| 日韩视频在线一区二区三区| 欧美一级黄色录像| 亚洲成人在线视频播放| 亚洲视频导航| 欧美a级一区| 国产欧美精品日韩| 99人久久精品视频最新地址| 欧美一区二区三区的| 亚洲国产成人91精品| 亚洲专区在线视频| 欧美大色视频| 国产专区一区| 亚洲中字在线| 亚洲经典三级| 一区二区三区日韩欧美| 亚洲人午夜精品| 国产精品久久久久久亚洲调教 | 亚洲欧美国产三级| 欧美高清自拍一区| 国内精品嫩模av私拍在线观看| 在线亚洲美日韩| 亚洲国产精品www| 久久久欧美一区二区| 国产精品一区二区a| 亚洲视频视频在线|