C++ 프로그램을 세미콜론 없이 작성하는 방법은 여러 가지가 있습니다. 다만 이러한 기법은 매우 나쁜 코딩 습관에 해당하며 실제 코드에서는 절대 사용해서는 안 됩니다. 본 글은 순수하게 정보 제공 목적으로 소개하는 내용입니다.
if 문을 활용한 세미콜론 생략
세미콜론 없이 C++ 프로그램을 작성하는 가장 쉬운 방법은 if 문을 활용하는 것입니다. C++에서 거의 모든 문장은 표현식(expression)으로 취급될 수 있습니다. 따라서 해당 문장을 if 문의 조건 자리에 넣고 빈 중괄호 쌍만 남겨두면, 문장 끝에 세미콜론을 붙이지 않아도 됩니다.
예제 코드
#include<iostream>
int main() {
if (std::cout << "Hello world!") {}
}실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Hello World
입력 받기와 변수 선언도 가능
이 방법으로는 단순 출력뿐만 아니라 입력을 받거나, 변수를 선언하고, 함수를 정의하는 것까지 모두 가능합니다. 예를 들어 다음과 같이 작성할 수 있습니다.
예제 코드
#include<iostream>
int main() {
if (int N = 1) {
if (std::cin >> N) {}
if (std::cout << N) {}
}
}실행 결과
숫자 21을 입력했다면 다음과 같은 결과가 출력됩니다.
21
break, continue, goto, return 문 대체하기
if 문 외에도 반복문이나 함수에서 흔히 사용되는 제어문들은 아래와 같은 방식으로 대체할 수 있습니다.
- break / continue: 반복문 내부의 조건식에 해당 조건을 직접 포함시켜 사용을 피할 수 있습니다.
- goto: 더 깔끔한 제어 흐름 구조로 코드를 재구성하면 goto 문 없이 동일한 로직을 구현할 수 있습니다.
- return: 반환값이 있는(non-void) 함수에서는 참조(reference) 매개변수를 전달하여 이를 반환값처럼 활용하고, 함수 마지막에 해당 참조 변수에 값을 할당하는 방식으로 return 문을 생략할 수 있습니다.