Statement goto can not cross variable definition?
Goto can’t skip over initializations of variables, because the respective objects would not exist after the jump, since lifetime of object with non-trivial initialization starts when that initialization is executed: C++11 §3.8/1: […] The lifetime of an object of type T begins when: storage with the proper alignment and size for type T is obtained, … Read more