<CPP>/BASIC

3. 주석(Comment)

CodeGrimie 2021. 1. 8. 12:54

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로 알고리즘을 공부할 때 하나의 코드에 여러 구현법을 넣고 관리할 수 있어서 편리하다.