2018.02.22更新
即使如此,能不用还是不要用!!!
个人经验
goto在一些特定场景下合理使用,不仅不会导致代码可读性和可维护性变差,反而会更容易理解和维护。
场景一、多层循环跳出
while(A)
{
...
while(B)
{
...
if(C)
{
...
goto outA;
}
}
}
outA:
...
场景二、统一处理并返回
int func()
{
LockSomething();
int res = 0;
if(!func_step1())
{
goto func_return_fail;
}
if(!func_step2())
{
goto func_return_fail;
}
...
func_return_normal:
UnlockSomething();
return res;
func_return_fail:
res = -1;
UnlockSomething();
return res;
}
---------------------
作者:pplxlee
来源:CSDN
原文:https://blog.csdn.net/pplxlee/article/details/79121331
版权声明:本文为博主原创文章,转载请附上博文链接!