In C++ programs, you can safely use the goto statement. When you use it to exit a block that contains aggregates requiring destructors, the destructors will run before the goto transfers control.
The compiler still forbids using goto to enter a scope that requires constructors.