【发布时间】:2016-08-10 04:47:31
【问题描述】:
我有点困惑。如果没有goto,如何重构这个语句?
if(first_expression)
{
// ....
if(second_expression)
{
// ....
}
else
{
goto jump_out;
}
}
else
{
jump_out:
// ....
}
这是好方法吗?
bool expressionFailed = false;
if(first_expression)
{
if(second_expression)
{
// ....
}
else
expressionsFailed = true;
}
else
expressionsFailed = true;
if(expressionsFailed)
{
// ....
}
我不能使用&&,因为if(first_expression)之后的代码需要在second_expression = false时执行
【问题讨论】:
-
是的,看起来不错。
-
你写的代码没问题
-
使用 break 而不是 goto。
标签: c++ refactoring goto