C++ 使用'时是否所有东西都清理干净了;转到';? for(int i=0;i

C++ 使用'时是否所有东西都清理干净了;转到';? for(int i=0;i,c++,goto,C++,Goto,在goto之后,i和j变量是否会被释放?据我回忆,goto不会展开堆栈或进行任何清理,因此在这种情况下它会把事情搞砸吗?是的,它会被清理。因为C++释放了超出范围的变量。你需要 Goto < /C>?如果需要上述函数,请将其添加到函数中并使用return永远不要使用goto。你自己也可以很容易地检查它。@Jori,goto有它的位置,但在这里,函数可能是最好的。这是我发现goto有用的少数情况之一。break关键字不会中断嵌套循环。@Jori有时goto适合退出嵌套循环。 for (int i

goto
之后,
i
j
变量是否会被释放?据我回忆,
goto
不会展开堆栈或进行任何清理,因此在这种情况下它会把事情搞砸吗?

是的,它会被清理。因为C++释放了超出范围的变量。

你需要<代码> Goto < /C>?如果需要上述函数,请将其添加到函数中并使用
return
永远不要使用
goto
。你自己也可以很容易地检查它。@Jori,
goto
有它的位置,但在这里,函数可能是最好的。这是我发现
goto
有用的少数情况之一。
break
关键字不会中断嵌套循环。@Jori有时goto适合退出嵌套循环。
for (int i = 0 ; i < 10 ; ++i)
{
    for (int j = 0 ; j < 10 ; ++j)
    {
        goto label;
    }
}
label:
// stuff