boost的scope_exit中1.4.9的版本和1.5.5的版本差异很大,以前boost1.4.9的scope_exit不支持this_指针,而且1.4.9版本对scope_exit的参数都是通过()隔开,例如
boost 1.4.9版本的scope_exit的写法,变量必须使用()
BOOST_SCOPE_EXIT((&commit))
{
}BOOST_SCOPE_EXIT_END
而且1.4.9不支持this指针,所以我设计了一个宏来解决该问题
#define CREATE_THIS(class) \
class* this_ = const_cast<class*>(this);
通过这个来解决没有this提供的问题
然而boost1.5.5的版本做了很大的改进,更符合函数调用方式,提供了多参数的参数输入,并且提供了this_来访问成员属性和成员方法。