이 글에서는 C++ 코드에서의 주석에 대해 알아봅니다.
TL;DR
- 주석(Comment)이란 사람만 볼 수 있게끔 적는 메모
- 한 줄짜리 주석은
//
표시를 이용.//
표시 이후 그 줄이 끝날 때까지의 내용이 주석처리되는 식. 예를 들면,// 주석으로 적을 내용
의 형태로 작성 - 여러 줄짜리 주석은
/*
과*/
표시를 이용./*
표시 이후부터*/
표시 이전까지의 내용이 주석처리되는 식. 예를 들면,/* 주석으로 적을 내용 */
의 형태로 작성
주석(Comment)
주석이란 사람이 C++ 코드를 이해하기 쉽도록 돕기 위해 적어놓는 설명입니다.
C++ 코드를 보자마자 코드의 구조, 내용, 원리가 한 눈에 들어오는 능력자도 있겠지만, 저처럼 코드를 한참 들여다봐야 간신히 그 내용이 이해가 되는 불쌍한 중생도 있겠지요. 만약 코드에 대한 설명을 사람의 언어(한국어든 영어든)로 풀어서 메모해 둔다면, 누가 그 코드를 보더라도 그 코드가 무슨 역할을 하기 위해 작성된 것인지 금방 이해할 수 있을 것입니다.
이런 메모는 C++ 언어가 아니라 사람의 언어로 적을 것이므로, 컴파일러가 이 메모를 무시하도록 해 주어야합니다. 그렇지 않으면 "이 내용은 C++ 문법에 맞지 않습니다"라며 에러를 띄울 것이기 때문이죠.
이렇게 컴파일러는 내용을 무시하고 넘어가게끔 하되 사람만 알아볼 수 있도록 적어두는 메모를 주석이라고 합니다.
간혹, 한글로 주석을 적을 경우 유니코드 관련 문제로 인해 오류가 발생하거나 폰트가 깨지는 등의 문제가 발생할 수도 있습니다.
이 글에서는 이해를 돕고자 한글 주석을 사용하지만, 이후에는 되도록 영어 주석으로 진행할 예정입니다.
한 줄짜리 주석(//
)
한 줄짜리 주석은 //
표시를 이용하여 작성합니다. 줄의 어느 위치에서든 쓸 수 있으며, //
표시 이후로 그 줄이 끝날 때(줄바꿈)까지의 모든 내용이 주석처리됩니다. 예를 들어 코드로 보면 다음과 같습니다.
#include <iostream>
int main(int, char**) {
// 이 부분은 주석입니다.
// 다음 줄은 화면에 Hello, world!라는 문구를 표시하는 코드입니다.
std::cout << "Hello, world!\n"; // 이렇게 코드에 이어서 쓸 수도 있습니다.
}
// main 함수 바깥에도 쓸 수 있습니다.
이와 같이 작성하고 실행해보시면, 이전과 완전히 동일한 결과를 얻을 것입니다. 컴파일러는 주석을 무시하기 때문에 코드 내용 상 변화가 없는 것이나 마찬가지이기 때문입니다.
여러 줄짜리 주석(/*
, */
)
여러 줄짜리 주석은 /*
표시로 시작하여 */
표시로 끝나는 형태로 작성합니다. /*
와 */
표시는 어느 위치에서든 쓸 수 있으며, 그 사이의 모든 내용이 주석처리됩니다. 예를 들어 코드로 보면 다음과 같습니다.
#include <iostream>
/* 이 부분은 주석처리 되는 부분입니다.
이렇게 줄바꿈을 해도 여전히 주석입니다.
계속 주석처리 되고 있는 중입니다.
...
이제 주석을 끝내보겠습니다. */
int main(int, char**) {
/* 이렇게 한 줄만 주석처리해도 됩니다.*/
std::cout << "Hello, world!\n";
/*
여러 줄로
길게 설명을
해야 할 때에
활용해보세요
*/
}
마찬가지로, 실행해보시면 동일한 결과를 얻을 수 있습니다.
Changelog
- 2022-01-07: 최초 게시