我有一个解析文件的代码,如果满足无效条件,该代码就会分解。该代码是用C ++编写的,就像这样:
bool ok = true;
if (task1() == false)
ok = false;
if (ok && (task2() == false))
ok = false;
if (ok && (task3() == false))
ok = false;
cleanup();
return ok;
现在,我正在寻找更清洁的替代品以获得相同的结果。据我所知有:
break
或其他循环中获取do while(0)
或switch语句。goto
语句我没有找到有关此类代码的讨论。通常建议哪些实现?任何C ++编码指南中都提到了这种情况吗?还有其他实用的选择吗?
假设所有这些函数都返回一个bool
,在我看来,所显示的代码在逻辑上与以下代码相同:
bool ok= task1() && task2() && task3();
cleanup();
return ok;