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

隨筆-90  評(píng)論-947  文章-0  trackbacks-0

ScopeGuard 只是幫我們調(diào)用一個(gè)函數(shù)而已,至于這個(gè)函數(shù)是否有異常出來,它不該悄悄地把它吞了,而應(yīng)該還我們本來面目,不知道是不是?可是為什么幾乎所有介紹 ScopeGuard 的文章都說這 try … catch … 用得好呢?

posted on 2011-03-23 09:39 溪流 閱讀(2551) 評(píng)論(6)  編輯 收藏 引用 所屬分類: C++

評(píng)論:
# re: 覺得 Loki::ScopeGuard 似乎不該在它自己里面 try … catch … 2011-03-23 10:16 | expter
如果關(guān)注函數(shù)本身代碼有異常,
就需要try..catch來處理了,異常發(fā)生時(shí)堆棧會(huì)unwind,而且代碼看起太丑陋,就封裝下咯。
Loki::ScopeGuard 輕量的RAII ,對(duì)資源管理與異常安全提供比較好,可以只關(guān)注于異常部分。  回復(fù)  更多評(píng)論
  
# re: 覺得 Loki::ScopeGuard 似乎不該在它自己里面 try … catch … 2011-03-23 10:34 | airtrack
Loki::ScopeGuard實(shí)際上是一個(gè)通用的RAII,它是通過在ScopeGuardImplBase的所有派生類的析構(gòu)函數(shù)里面SafeExecute(*this)來做到RAII,而在SafeExecute做資源釋放操作是通過調(diào)用派生類的fun_,如果不try...catch,那么fun_執(zhí)行如果發(fā)生異常的話,那異常就逃離了析構(gòu)函數(shù)。在C++中析構(gòu)函數(shù)是不應(yīng)該有異常產(chǎn)生的,詳見《Effective C++》。  回復(fù)  更多評(píng)論
  
# re: 覺得 Loki::ScopeGuard 似乎不該在它自己里面 try … catch … 2011-03-25 11:09 | 無民事
朋友你的QQ多少?可以交流下嗎?  回復(fù)  更多評(píng)論
  
# re: 覺得 Loki::ScopeGuard 似乎不該在它自己里面 try … catch … 2011-03-26 07:26 | OwnWaterloo
rollback函數(shù)本身就不應(yīng)該拋出異常。
異常安全的代碼依賴一些無拋出的代碼來執(zhí)行commit或者rollback。

所以:
1. 本來面目是還不了的
rollback動(dòng)作就應(yīng)該無拋出的執(zhí)行, 無論它本身是一個(gè)無拋出的函數(shù), 還是被scopeguard的析構(gòu)所吞掉。

2. scopeguard是否應(yīng)該插手
我也認(rèn)為它多管閑事了。
無拋出是rollback函數(shù)自身的責(zé)任。
沒有無拋出保證就不能稱為一個(gè)rollback。
應(yīng)該努力將其寫為rollback, 然后scopeguard僅僅考慮注冊(cè)而已。
對(duì)實(shí)在沒有時(shí)間與精力寫為無拋出的rollback, 可自行吞掉:
rollback_nothrow(...) { rollback(...) }
makeguard(rollback_nothrow, ...)

3. loki
loki應(yīng)該算是一個(gè)實(shí)驗(yàn)/教學(xué)性質(zhì)的庫吧?
所以盡可能的多傳授一些C++的知識(shí), 比如"析構(gòu)絕對(duì)不能拋出異常"。
而沒太注重"該保證是誰的責(zé)任"。
所以就選擇一個(gè)簡(jiǎn)單且效率稍微有點(diǎn)低的方案了。  回復(fù)  更多評(píng)論
  
# re: 覺得 Loki::ScopeGuard 似乎不該在它自己里面 try … catch … 2011-03-28 14:49 | 溪流
@OwnWaterloo
你也認(rèn)為它多管閑事了?!好~哈哈!  回復(fù)  更多評(píng)論
  
# re: 覺得 Loki::ScopeGuard 似乎不該在它自己里面 try … catch … 2011-03-28 18:45 | OwnWaterloo
@溪流
恩, 我還覺得 loki.scopeguard應(yīng)該區(qū)分為
1. rollback 注冊(cè)的動(dòng)作可取消 —— loki.scopeguard實(shí)際實(shí)現(xiàn)
2. on_exit 注冊(cè)的動(dòng)作一定執(zhí)行 —— 其實(shí)這個(gè)用得不少

將 loki.scopeguard 用于 on_exit 的情況很浪費(fèi)啊……
需要開辟局部變量, 需要 if 測(cè)試, 而且這個(gè)測(cè)試代碼是在每一個(gè)退出點(diǎn)產(chǎn)生的……
這些開銷根本不需要的。

loki應(yīng)該是為了簡(jiǎn)單吧, 一頂倆……  回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲日本一区二区三区| 午夜精品免费视频| 亚洲欧美在线aaa| 亚洲天堂av图片| 亚洲欧美精品在线观看| 亚洲淫性视频| 欧美伊久线香蕉线新在线| 久久九九99| 国产精品一区视频| 国产一区二区三区精品欧美日韩一区二区三区 | 精品不卡在线| 极品日韩av| 亚洲精品综合精品自拍| 亚洲一区免费| 久久综合色88| 99精品国产福利在线观看免费| 中文欧美字幕免费| 久久黄色小说| 欧美日韩色综合| 国产曰批免费观看久久久| 亚洲国产视频直播| 午夜精品久久久久久久男人的天堂| 日韩午夜精品| 亚洲欧美成人精品| 欧美一区二区三区在线| 欧美暴力喷水在线| 国产日韩精品一区二区三区在线| 亚洲经典三级| 久久久精品免费视频| 国产午夜精品美女毛片视频| 久久亚裔精品欧美| 国产毛片一区二区| 在线亚洲高清视频| 欧美国产先锋| 久久久国产精品亚洲一区| 欧美色播在线播放| 亚洲三级免费| 免费看亚洲片| 欧美在线免费视频| 欧美视频免费看| 日韩一二三在线视频播| 久久免费高清视频| 小嫩嫩精品导航| 国产精品久久久久久久久久妞妞| 91久久精品国产| 久久这里有精品15一区二区三区| 宅男在线国产精品| 欧美日韩国产天堂| 日韩小视频在线观看| 久久影院午夜论| 久久久久国产一区二区三区| 亚洲一二区在线| 国产精品成人免费精品自在线观看| 亚洲第一中文字幕在线观看| 久久先锋影音| 久久久久一区二区三区| 午夜欧美电影在线观看| 欧美国产日韩在线| 欧美国产精品日韩| 夜夜嗨av一区二区三区免费区| 欧美激情在线观看| 女人香蕉久久**毛片精品| 亚洲国产精品久久久久久女王| 麻豆精品传媒视频| 久久久久久久一区二区三区| 国产在线成人| 久久亚洲视频| 男人插女人欧美| 日韩图片一区| 夜夜嗨av一区二区三区| 久久在线视频| 一区二区三区视频在线观看 | 亚洲男女自偷自拍图片另类| 亚洲日本久久| 欧美精品在线免费播放| 亚洲少妇在线| 亚洲欧美日韩国产综合| 国产一区日韩二区欧美三区| 久久一区欧美| 亚洲黄页一区| 99在线|亚洲一区二区| 国产精品国产福利国产秒拍| 午夜免费电影一区在线观看| 亚洲欧美国产77777| 韩国三级电影久久久久久| 欧美激情成人在线| 欧美午夜电影完整版| 欧美自拍偷拍| 欧美成人精品福利| 亚洲欧美日韩国产综合| 久久九九久精品国产免费直播| 亚洲娇小video精品| 在线视频精品一| 影音先锋在线一区| 一本色道久久88精品综合| 狠狠综合久久av一区二区小说| 亚洲第一在线综合网站| 在线亚洲欧美| 91久久线看在观草草青青| 亚洲视频999| 亚洲精品偷拍| 久久精品99无色码中文字幕| 久久国产精品久久久久久| 欧美暴力喷水在线| 久久久国产精品一区二区中文| 欧美国产亚洲精品久久久8v| 欧美一区二区三区视频| 欧美激情中文不卡| 久久久久综合一区二区三区| 欧美日韩三级视频| 欧美激情网友自拍| 国产午夜精品视频| 正在播放欧美一区| 欧美激情视频一区二区三区不卡| 91久久精品国产91久久性色| 国产一区二区三区高清播放| 日韩小视频在线观看| 亚洲国产精品成人一区二区| 性感少妇一区| 欧美在线免费视频| 亚洲美女诱惑| 亚洲精品一区二区三区不| 久久综合九九| 免费在线播放第一区高清av| 国产性天天综合网| 亚洲一区二区精品在线观看| aⅴ色国产欧美| 亚洲高清一区二| 亚洲视频在线观看三级| 一区二区三区成人| 欧美日韩成人网| 亚洲人成在线播放网站岛国| 亚洲激情亚洲| 欧美成人免费观看| 欧美国产日韩精品免费观看| 尤物精品国产第一福利三区| 久久精品99久久香蕉国产色戒| 久久久亚洲成人| 在线观看欧美精品| 免播放器亚洲| 亚洲国产精品久久精品怡红院| 亚洲国产精品成人久久综合一区| 久久亚洲私人国产精品va| 久久精品视频免费| 亚洲永久免费| 国产精品一区二区三区免费观看| 亚洲视频一区在线观看| 亚洲影院在线观看| 国产欧美一区二区三区久久人妖| 午夜精品偷拍| 国产精品丝袜xxxxxxx| 亚洲一线二线三线久久久| 欧美亚洲一区在线| 黑人巨大精品欧美黑白配亚洲 | 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲一区在线看| 日韩一级在线| 国产精品免费一区二区三区在线观看 | 亚洲国产高清一区二区三区| 男男成人高潮片免费网站| 亚洲精品中文字幕在线观看| 亚洲性线免费观看视频成熟| 亚洲欧美伊人| 美乳少妇欧美精品| 日韩西西人体444www| 国产精品美女久久久久av超清 | 亚洲一区一卡| 99精品福利视频| 国产精品女主播| 久久综合福利| 亚洲校园激情| 欧美成人在线免费视频| 亚洲一品av免费观看| 国产欧美日韩视频一区二区| 毛片一区二区三区| 亚洲色图综合久久| 免费亚洲电影在线| 亚洲欧美网站| 亚洲日韩欧美视频一区| 国产精品日韩欧美| 欧美成人a视频| 性欧美大战久久久久久久免费观看 | 亚洲久久视频| 国产一区二区成人| 欧美视频中文一区二区三区在线观看 | 国产精品成人国产乱一区| 狂野欧美一区| 亚洲欧美国产一区二区三区| 亚洲福利视频专区| 国产精品视频午夜| 久久久久五月天| 亚洲午夜电影在线观看| 欧美**字幕| 中文国产一区| 欧美在线播放| 在线观看一区二区视频| 国产欧美韩日| 国产精品久久国产愉拍| 欧美精品免费播放| 欧美成人激情视频|