在C++中執行goto
語句時,以下代碼片段中的兩個數組是否從堆棧中移除?或者當方法返回時它們會從堆棧中移除?C++中的goto語句在堆棧中的效果
retrySplit:
...
uint32_t primsAbove[primitives.size()];
uint32_t primsBelow[primitives.size()];
...
goto retrySplit;
這個問題是不相關的使用goto語句導致泄漏,但關心你是否能炸掉你的籌碼的可能性。
從概念上講,它們在退出塊時被移除(即在關閉支撐處}} ... – 2014-11-08 14:29:58
@BasileStarynkevitch,所以如果它是方法主流的一部分,它們將在返回後從堆棧中移除。 – Matthias 2014-11-08 14:33:13
你不應該關心堆棧指針。這些局部變量的位置可能會在退出塊後重新使用。 – 2014-11-08 14:34:49