【发布时间】:2013-08-07 10:31:44
【问题描述】:
for (int i = 0 ; i < 10 ; ++i)
{
for (int j = 0 ; j < 10 ; ++j)
{
goto label;
}
}
label:
// stuff
在goto 之后i 和j 变量会被释放吗?据我所知,goto 不会展开堆栈或进行任何清理,所以在这种情况下它会搞砸一些事情吗?
【问题讨论】:
-
你需要
goto吗?如果需要上面的函数,在一个函数中添加,使用return -
永远不要使用
goto。你也可以很容易地自己检查一下。 -
@Jori,
goto有它的位置,但在这里,一个函数可能是最好的。 -
这是我发现
goto有用的少数情况之一。break关键字不会打破嵌套循环。 -
@Jori 有时 goto 适合退出嵌套循环。