std::experimental::scope_exit 定义于头文件<experimental/scope> template<classEF> classscope_exit; (库基础 TS v3) 类模板scope_exit是通用的作用域防护,有意使它在退出作用域时调用其退出函数。 scope_exit非可复制构造(CopyConstructible)、可复制赋值(CopyAssignable)或可移动赋值(MoveAssignable),然而若EF满...
std::experimental::scope_exit 在标头<experimental/scope>定义 template<classEF> classscope_exit; (库基础 TS v3) 类模板scope_exit是通用的作用域防护,有意使它在退出作用域时调用其退出函数。 scope_exit非可复制构造(CopyConstructible)、可复制赋值(CopyAssignable)或可移动赋值(MoveAssignable),然而若EF满足...
scope_exit(constscope_exit&)=delete; (3)(库基础 TS v3) 从函数、函数对象或另一scope_exit创建scope_exit。 1)以函数或函数对象初始化退出函数。构造的scope_exit为活跃。 若Fn不是左值引用类型且std::is_nothrow_constructible_v<EF, Fn>为true,则以std::forward<Fn>(fn),否则以fn初始化存储的EF。
定义于头文件 <experimental/scope> template<class EF>class scope_exit; (库基础 TS v3) 类模板 scope_exit 是通用的作用域防护,有意使它在退出作用域时调用其退出函数。 scope_exit 非可复制构造 (CopyConstructible) 、可复制赋值 (CopyAssignable) 或可移动赋值 (MoveAssignable) ,然而若 EF 满足某些要求...
("scope_fail", exit_status, did_throw);// Using scope_success: runs only if no exception occursexit_status=did_throw=false;try{autoguard=std::experimental::scope_success{[&]{exit_status=true;}};maybe_throw();}catch(...){did_throw=true;}print_exit_status("scope_success", exit_status...