int Thread() { calculate_some_heavy_shit(); if(need_to_stop_thread) goto ExitLabel; calculate_some_heavy_shit(); if(need_to_stop_thread) goto ExitLabel; calculate_some_heavy_shit(); ExitLabel: delete []must_be_deleted; do_all_things_that_mast_be_done_before_exit(); return 0; }