현재 흐름에서 점프
goto cleanup;
조건문 안에서 갑자기 다른 줄로 이동합니다.
레거시 코드에서 만났다면 출발 지점, 도착 레이블, 점프 사이의 자원 상태를 함께 추적해야 합니다.
goto cleanup;
조건문 안에서 갑자기 다른 줄로 이동합니다.
초기화, 검사, 정리 코드가 실행되지 않을 수 있습니다.
cleanup:
레이블 이후의 문장부터 다시 실행됩니다.
`break`와 `continue`로 루프 구조 안에서 흐름을 표현합니다.
함수로 분리한 뒤 `return`하면 여러 중첩 단계를 단순하게 끝낼 수 있습니다.
`bool done` 같은 플래그로 다음 단계가 읽을 수 있는 의도를 남깁니다.
스코프와 소멸자를 이용하면 점프 없이도 자원 해제를 안전하게 묶습니다.
현대 C++ 기준 새 코드는 `goto`를 먼저 선택하지 않습니다. 더 긴 코드라도 실행 경로가 구조적으로 보이는 대안을 고르는 편이 유지보수에 유리합니다.