3. 주석(Comment)
CPP에는 세 가지의 주석 방법이 존재한다.
범위 주석(Block Comment)
이름에서도 알 수 있듯이 범위를 주석하는 방법이다.
CPP에서는 /**/를 사용하여 주석처리할 범위를 지정할 수 있다.
▼ 실제 CPP 코드에서 범위 주석 예시
/*
Block_Comment_Example.cpp
작 성 자 : 코드그리미
최종작성일 : 2021.01.08
*/
int main()
{
/* CODE */
int /* a */ b;
return 0;
}
코드에서도 범위 주석은 두 가지 형태로 사용되었다.
코드의 헤더부분에 작성된 주석은 한 줄 이상의 범위를 묶는 범위 주석의 모습이 잘 드러난다.
문단을 작성할 수 있기 때문에 주로 코드에 대한 정보를 작성할 때 많이 사용한다.
반면 Main 함수 내에 있는 범위 주석은 아주 좁은 범위를 주석처리한다.
한 줄의 특정 부분을 범위 지정해서 주석 처리할 수 있는 기능으로 빠르게 특정 내부 변수를 바꿔보면서 테스트할 때 사용하곤 한다.
행 주석(Line Comment)
한 줄만 주석할 수 있는 방법이다.
CPP에서는 //를 사용하여 주석처리할 행을 지정할 수 있다.
▼ 실제 CPP 코드에서 행 주석 예시
// Main Function
int main()
{
int a;
a = 4;
if (a < 10) // if
a = 10;
return 0;
}
딱 그 한 줄만 작동하는 주석으로 간단한 코드 부가 설명 용도로 자주 사용된다.
//를 입력하는 위치부터 그 줄은 전체 주석으로 작동한다.
원래 C에는 범위 주석만 존재했었는데 프로그래머들이 주석 처리를 하다 너무 실수가 잦자 몇몇 컴파일러에서 행 주석을 비공식적으로 지원했다고 한다. (대표적으로 MSVC)
이후 C 표준을 정리하면서 아예 행 주석을 표준으로 포함시킨 케이스.
이러한 관행은 CPP에도 넘어와서 CPP STD를 제정하는 것도 비표준 라이브러리를 통해 먼저 검증을 한 다음 표준으로 채용하고 있다.
전처리 주석(Preprocessing Comment)
#if와 #endif와 같은 전처리 조건부를 사용한 주석 방식이다.
주석의 방법 중 하나일 뿐 주석 기능을 가진 것은 아니지만 요긴하게 사용된다.
▼ 실제 CPP 코드에서 전처리 주석 예시
#include <cstdio>
#if 0
// Compiler don't compile this
int main()
{
printf("Don't Compile\n");
return 0;
}
#else
// Compiler compile this
int main()
{
printf("Compile\n");
return 0;
}
#endif
전처리 주석을 사용하는 가장 큰 이유는 조건에 따라 코드 문단 전체를 주석하는 것이 편하기 때문이다.
위의 코드에서 확인할 수 있듯이 특정 조건에 따라 코드가 작동하고 안 하고를 지정해줄 수 있다.
이 방법을 사용해서 크로스 플랫폼 프로그램을 만들 때 운영체제에 맞춰서 코드를 빌드할 수 있다.
특히 CPP로 알고리즘을 공부할 때 하나의 코드에 여러 구현법을 넣고 관리할 수 있어서 편리하다.