ScopeGuard11和Boost.ScopeExit之间的区别 - 只是向后兼容?

时间:2015-02-20 19:40:28

标签: c++ c++11 boost scopeguard

我最近看过Andrei Alexandrescu在C ++和2012年之后的演讲' (Systematic Error Handling with C++),他在其中讨论了他的ScopeGuard11构造,特别是SCOPE_EXIT(演讲的第二部分;或者只是阅读代码here)。与此同时,我开始研究Boost库,并注意到BOOST_SCOPE_EXIT宏(Boost.ScopeExit library)。

这两个似乎在实现方面完全不同(BOOST_SCOPE_EXIT使用Boost.TypeOf,与ScopeGuard11 SCOPE_EXIT中的情况完全不同; Boost宏与参数捕获等有关,这在C ++ 11中不是问题;但除此之外,它们似乎提供了基本相同的功能。

我是对的还是我错过了什么?可以说ScopeGuard11是一个更清洁的'具有与Boost.ScopeGuard相同功能但具有较少向后兼容性的机制?

0 个答案:

没有答案