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

隨筆-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 溪流 閱讀(2548) 評(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 | 無(wú)民事
朋友你的QQ多少?可以交流下嗎?  回復(fù)  更多評(píng)論
  
# re: 覺得 Loki::ScopeGuard 似乎不該在它自己里面 try … catch … 2011-03-26 07:26 | OwnWaterloo
rollback函數(shù)本身就不應(yīng)該拋出異常。
異常安全的代碼依賴一些無(wú)拋出的代碼來執(zhí)行commit或者rollback。

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

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

3. loki
loki應(yīng)該算是一個(gè)實(shí)驗(yàn)/教學(xué)性質(zhì)的庫(kù)吧?
所以盡可能的多傳授一些C++的知識(shí), 比如"析構(gòu)絕對(duì)不能拋出異常"。
而沒太注重"該保證是誰(shuí)的責(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>
            日韩一级成人av| 国产乱码精品一区二区三区忘忧草| 美国三级日本三级久久99| 亚洲影院高清在线| 艳女tv在线观看国产一区| 亚洲精品中文字幕在线观看| 亚洲美女在线看| 国产精品99久久久久久宅男 | 91久久精品www人人做人人爽| 一区三区视频| 亚洲精品在线视频| 亚洲欧美区自拍先锋| 久久九九久久九九| 亚洲成色777777女色窝| 欧美1区2区视频| 99精品欧美一区二区三区| 亚洲欧美在线aaa| 免费在线视频一区| 国产精品免费一区二区三区在线观看 | 欧美一级久久久| 欧美激情麻豆| 国产精品色午夜在线观看| 一区二区三区自拍| 亚洲午夜在线观看| 美女免费视频一区| 亚洲网站视频| 欧美成人精品在线| 国产色爱av资源综合区| 亚洲国产人成综合网站| 亚洲欧美www| 亚洲福利国产精品| 性做久久久久久久免费看| 欧美99久久| 韩国在线一区| 午夜影院日韩| 日韩午夜激情av| 国产九九视频一区二区三区| 在线看欧美日韩| 中日韩在线视频| 免费久久久一本精品久久区| 一区二区三区精品国产| 久久综合色一综合色88| 国产精品一区二区三区四区五区| 亚洲国产人成综合网站| 久久九九99视频| 亚洲综合首页| 欧美系列一区| 亚洲视频一区二区在线观看| 亚洲国产日韩在线一区模特| 久热精品视频在线观看| 黄色成人av网站| 久久久久久999| 性欧美大战久久久久久久免费观看 | 中文精品视频| 亚洲成人在线网| 免费观看国产成人| 影院欧美亚洲| 久久夜色精品亚洲噜噜国产mv| 午夜激情综合网| 国产一区91| 美女网站久久| 免费短视频成人日韩| 亚洲国产美国国产综合一区二区| 久久男人资源视频| 久久米奇亚洲| 亚洲日本视频| 亚洲精品乱码久久久久久久久 | 欧美福利一区二区三区| 亚洲精品欧美| 亚洲深爱激情| 国产一区二区三区网站| 久久综合狠狠综合久久激情| 久久精品国产一区二区三区| 在线播放不卡| 亚洲六月丁香色婷婷综合久久| 欧美日韩免费在线| 欧美制服丝袜| 老司机免费视频一区二区三区| 亚洲激情偷拍| 国产精品99久久久久久人| 国产日韩欧美不卡| 狂野欧美激情性xxxx欧美| 免费视频亚洲| 亚洲欧美偷拍卡通变态| 久久精品欧美日韩| 99国内精品| 亚洲欧美中文另类| 亚洲国产精品高清久久久| 亚洲精品久久久一区二区三区| 欧美日韩亚洲一区二区三区四区| 亚洲国产精品一区二区第一页| 久久亚洲国产成人| 久久精品在线播放| 中文无字幕一区二区三区| 欧美一级二级三级蜜桃| 亚洲人体1000| 亚洲欧美日韩人成在线播放| 影音先锋亚洲电影| 亚洲午夜视频在线观看| 亚洲国产精品久久人人爱蜜臀| 日韩亚洲欧美成人| 在线看一区二区| 亚洲影院色在线观看免费| 亚洲国产va精品久久久不卡综合| avtt综合网| 亚洲精品综合久久中文字幕| 午夜宅男久久久| 一区二区三区av| 卡一卡二国产精品| 久久久久高清| 国产精品自拍视频| 夜夜夜久久久| 99精品热6080yy久久| 久久精品国产免费| 欧美伊久线香蕉线新在线| 欧美精品v日韩精品v国产精品| 久久综合精品国产一区二区三区| 欧美日韩专区| 亚洲欧洲免费视频| 亚洲国产99精品国自产| 欧美综合激情网| 久久不射网站| 国产欧美日韩一区二区三区在线| 亚洲毛片网站| 99国产精品99久久久久久粉嫩| 久久尤物电影视频在线观看| 久久香蕉国产线看观看av| 国产亚洲精品久久久久婷婷瑜伽| 中日韩午夜理伦电影免费| 一区二区三区不卡视频在线观看| 巨乳诱惑日韩免费av| 巨胸喷奶水www久久久免费动漫| 国产视频亚洲| 欧美一区二区私人影院日本| 欧美一区二区三区久久精品| 国产精品久久一卡二卡| 亚洲天堂久久| 午夜视频一区在线观看| 国产精品亚洲一区二区三区在线| 亚洲在线观看视频| 欧美一区成人| 国产日韩精品久久| 香蕉久久国产| 久色成人在线| 亚洲国产日韩欧美在线99| 久久亚洲精品网站| 欧美激情第三页| 亚洲毛片播放| 国产精品www.| 欧美一级网站| 欧美激情亚洲另类| 一区二区欧美日韩| 国产精品视频免费观看www| 欧美一区国产在线| 欧美国产第二页| 亚洲视频999| 国产亚洲一二三区| 久热综合在线亚洲精品| 免费日韩成人| 国产人成精品一区二区三| 亚洲精品一二区| 亚洲欧美日韩在线不卡| 韩国三级电影久久久久久| 欧美第一黄色网| 午夜日韩激情| 91久久精品日日躁夜夜躁国产| 亚洲影院免费观看| 在线观看中文字幕不卡| 欧美日韩视频一区二区| 久久精品国产99国产精品| 91久久精品国产| 欧美一区二视频| 亚洲另类一区二区| 国产日韩欧美a| 欧美伦理91i| 久久大逼视频| 亚洲性视频网站| 欧美激情欧美狂野欧美精品 | 欧美日韩一区二区在线 | 女人香蕉久久**毛片精品| 亚洲精品日韩久久| 久久久免费观看视频| 一区二区三区久久网| 精品av久久久久电影| 欧美午夜影院| 欧美激情综合色综合啪啪| 久久精品国产第一区二区三区| 99国产一区二区三精品乱码| 农夫在线精品视频免费观看| 午夜精品999| 一本色道久久加勒比精品| 在线观看视频欧美| 国产美女搞久久| 欧美午夜一区二区| 欧美日韩www| 免费亚洲一区二区| 久久精品亚洲| 先锋影音国产精品| 亚洲专区欧美专区| 一区二区精品国产|