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