kom*_*ang 4 c++ design-patterns c++17
在我的日常工作中,我的代码通常是这样写的吗?
int ret = 0;
ret = func1();
if(ret != 0) {
return ret;
}
ret = func2();
if(ret != 0) {
return ret;
}
Run Code Online (Sandbox Code Playgroud)
但这意味着我需要完成很多“if(ret!=0){return ret;}”,有没有更C++优雅的实现来完成函数跳转?顺便说一下,我们不允许使用异常。
显示的代码似乎在逻辑上等同于:
int ret;
if ((ret=func1()) || (ret=func2()))
return ret;
Run Code Online (Sandbox Code Playgroud)
以显而易见的方式,根据需要添加尽可能多的附加函数调用。