我的代码看起来像这样(显示完成的所有用法):
bool done = false;
for(int i = 0; i < big; i++)
{
...
for(int j = 0; j < wow; j++)
{
...
if(foo(i,j))
{
done = true;
break;
}
...
}
if(done) break;
...
}
Run Code Online (Sandbox Code Playgroud)
将任何编译器转换为此:
for(int i = 0; i < big; i++)
{
...
for(int j = 0; j < wow; j++)
{
...
if(foo(i,j))
goto __done; // same as a labeled break if we had it
...
}
...
}
__done:;
Run Code Online (Sandbox Code Playgroud)
注意:虽然我最感兴趣的是如果if(done)break; …