BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDASというマクロがあります。これを使うと、BOOST_SCOPE_EXITを使うときの見た目が少しだけ変わります。
#define BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDAS #include <iostream> #include <boost/scope_exit.hpp> int main() { BOOST_SCOPE_EXIT(void) { std::cout << "exit" << std::endl; }; std::cout << "Hello world" << std::endl; } |
BOOST_SCOPE_EXIT_ENDの代わりにセミコロンになりました。少しすっきりしましたね。
なお、BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDASを定義している状態でも、依然としてBOOST_SCOPE_EXIT_ENDを使った書き方は可能です。移植性に気を遣う場合はBOOST_SCOPE_EXIT_ENDを使い続けましょうということのようです。
参考: Macro BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDAS – 1.53.0
なお、C++のラムダ式を使ったScope Exitは、BOOST_SCOPE_EXIT_ALLもあります (Macro BOOST_SCOPE_EXIT_ALL – 1.53.0)。
スポンサード リンク |
この記事のカテゴリ
- C++ ⇒ ラムダ式によるすっきりしたScope Exit