Will using goto leak variables?
Is it true that goto jumps across bits of code without calling destructors and things? e.g. void f() { int x = 0; goto lol; } int main() { f(); lol: return 0; } Won't x be leaked? Lightness Races in Orbit Warning: This answer pertains to C++ only ; the rules are quite different in C. Won't x be leaked? No, absolutely not. It is a myth that goto is some low-level construct that allows you to override C++'s built-in scoping mechanisms. (If anything, it's longjmp that may be prone to this.) Consider the following mechanics that prevent you from doing "bad things" with labels (which includes case