• <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>

            Error

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

            Effective C++

            條款17:以獨立語句將newed對象置入智能指針

                     Stroe newed objects in smart pointers in standalone statements

            請記住:

            1.  以獨立語句將newed對象存儲于(置入)智能指針內(nèi)。如果不這樣做,一旦異常被拋出,有可能導(dǎo)致難以察覺的資源泄漏。

            ――――――――――――――――――――――――――――

            int priority();

            Widget> pw,int priority);

             

            ――――――――――――――――――――――――――――

            Widget>(new Widget),priority());

             

            在調(diào)用processWidget之前,編譯器必須創(chuàng)建代碼,做以下三件事:

            1.  調(diào)用priority

            2.  執(zhí)行“new Widget

            3.  調(diào)用trl::shared_ptr構(gòu)造函數(shù)。

            順序不定,但2一定執(zhí)行于3的前面。

            如果執(zhí)行順序是以下:

            1.執(zhí)行“new Widget

            2.調(diào)用priority

            3.調(diào)用trl::shared_ptr構(gòu)造函數(shù)。

            此種情況下,萬一對priority的調(diào)用導(dǎo)致異常,“new Widget”返回的指針將會遺失,因為它尚未被置入trl::shared_ptr內(nèi)。

            ――――――――――――――――――――――――――――

            解決辦法:以獨立的語句將newed對象置入智能指針。

            Widget> pw(new Widget);

             

            processWidget(pw,priority());

            posted on 2012-11-13 15:41 Enic 閱讀(135) 評論(0)  編輯 收藏 引用 所屬分類: about boost
            久久久久人妻一区精品色| 久久综合欧美成人| 7777精品伊人久久久大香线蕉| 中文字幕乱码久久午夜| AV狠狠色丁香婷婷综合久久 | 青春久久| 亚洲精品蜜桃久久久久久| 9999国产精品欧美久久久久久| 亚洲午夜久久久| 伊人久久综在合线亚洲2019| 国产精品久久婷婷六月丁香| 国产2021久久精品| 亚洲AV日韩精品久久久久久| 久久久久久亚洲精品成人| 久久国产视屏| 婷婷综合久久狠狠色99h| 亚洲国产精品无码成人片久久| 亚洲国产精品久久| 色欲av伊人久久大香线蕉影院| 日韩十八禁一区二区久久| 精品熟女少妇aⅴ免费久久| 久久久久亚洲AV成人片| 亚洲∧v久久久无码精品| 香蕉久久永久视频| 人妻精品久久久久中文字幕| 婷婷综合久久中文字幕| 91超碰碰碰碰久久久久久综合| 欧美噜噜久久久XXX| 亚洲av伊人久久综合密臀性色| 亚洲精品乱码久久久久久蜜桃| 久久久免费观成人影院| 国产精品青草久久久久福利99| 久久精品一区二区国产| 97超级碰碰碰久久久久| 999久久久免费精品国产| 国产成人久久AV免费| 2021精品国产综合久久| 97久久精品无码一区二区| 久久福利青草精品资源站免费| 9191精品国产免费久久 | 国产毛片欧美毛片久久久|