작성
·
208
0
안녕하세요. 이제 강좌시리즈 시작하며 처음 파트3에서 막혀 문법부터 보고 있습니다.
4:55 부근 입니다.
Switch문에 Choice와 상수화된 변수들 ROCK... 등이 전혀 연관이 없어 보여서 미완성 코드로 보였는데요.
Const를 int ROCK = 1;에 붙히는 순간 ROCK과 1은 같은 것이 되는거네요?
C언어에서 #define ROCK 1; 선언하는 것과 비슷한 느낌 맞나요?
답변 2
1
네 그렇습니다.
결국 다 상수를 만든다는 측면에서 비슷하긴 한데,
#define ROCK 1 이것은 말 그대로 'ROCK'이라고 되어 있는 부분을
(컴파일 바로 이전 단계인)전처리 단계에서 '1' 이라는 글자로 바꾸는 것에 불과합니다.
C++에서 #define을 사용할 땐 꼭 정수만 사용하는 것은 아니고,
각종 매크로를 만들 때도 유용하게 사용됩니다.
그러나 정작 '상수'를 만들고자 할 때는 #define보다는
const int 을 이용해서 상수 변수를 만들거나,
enum { ROCK = 1 } 과 같은 방법을 이용해 만드는 것이 더 바람직합니다.
0