{"blog_title":"yohhoy\u306e\u65e5\u8a18","provider_url":"https://hatena.blog","url":"https://yohhoy.hatenadiary.jp/entry/20121218/p1","provider_name":"Hatena Blog","version":"1.0","published":"2012-12-18 00:00:00","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fyohhoy.hatenadiary.jp%2Fentry%2F20121218%2Fp1\" title=\"SCOPE_EXIT\u7591\u4f3c\u69cb\u6587\u306e\u4f5c\u308a\u65b9 - yohhoy\u306e\u65e5\u8a18\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","description":"C++ and Beyond 2012 \"Systematic Error Handling in C++\"\u30b9\u30e9\u30a4\u30c9\u300cScopeGuard11\u300d\u3088\u308a\u3002\u30de\u30af\u30ed\u3068\u30e9\u30e0\u30c0\u5f0f\u3092\u7d44\u5408\u305b\u3066\u30b9\u30b3\u30fc\u30d7\u30ac\u30fc\u30c9\u6587\u3092\u7591\u4f3c\u7684\u306b\u5b9f\u73fe\u3057\u3066\u3044\u308b\u3002\uff08\u6ce8\u610f\uff1a\u672b\u5c3e\u306e\u30bb\u30df\u30b3\u30ed\u30f3\u5fc5\u9808\uff09 { ... SCOPE_EXIT { /* \u51e6\u7406A */ }; ... { ... SCOPE_EXIT { /* \u51e6\u7406B */ }; ... } // \u51e6\u7406B\u304c\u547c\u3070\u308c\u308b } // \u51e6\u7406A\u304c\u547c\u3070\u308c\u308b \u3057\u304b\u3051 // pp46-47: Implementation template <class Fun> class ScopeGuard { /*(sn\u2026","type":"rich","title":"SCOPE_EXIT\u7591\u4f3c\u69cb\u6587\u306e\u4f5c\u308a\u65b9","author_name":"yohhoy","blog_url":"https://yohhoy.hatenadiary.jp/","categories":["C++"],"image_url":null,"height":"190","width":"100%","author_url":"https://blog.hatena.ne.jp/yohhoy/"}