[ C++ 기본 문법 10 ] 열거문
열거형은 무엇일까?
정수를 상수로 바꾸고 싶을 때!
우리는 상수화라고 하며 const라고 썼었다.
하나의 세트로 관리하고 싶을 때
enum이라는 친구가 나온다.
C#에서도 쓴다.
enum { }; 함수를 사용한다.
괄호 안에는 변수명을 써줘야 하는데
보통 대문자로 쓰며, enum타입인걸 알려주기 위해
ENUM_변수명 이라고 써주는 편이다.
❗❗ 필수는 아님 ❗❗
* 유의사항으로는
1. 변수 옆에다가는 , 따옴표를 꼭 써준다.
2. 마지막변수에는 , 을 써도 되고 안 써도 된다.
const를 써주었을 땐 상수를 꼭 입력해주어야 하는데
enum은 초기값을 안 넣어주면 첫 값은 1이다. 그다음 값은 이전값의 +1 값이다.
이 패턴에 의해
첫 값을 만약에 8로 지정해 주면, 그다음 값은 9 , 10 , 11 이렇게 된다.
enum은 함수 이름을 지어줄 수 있다.
enum 이름어쩌구
라고 지어주면 이 enum은 무슨 역할인지 쉽게 이해할 수 있다.
또 다른 열거형인
#define 이 있다.
#define DEFINE_변수명 1
으로 작성하며
여기서는 = 1, 이 아니라, 그냥 띄우고 1을 써줘야 한다.
그래서 #define이 뭔가요?!
#
#은 전처리 지시문으로
이 전처리는 준비운동인 느낌으로, 우리는 사실 진작부터 쓰고 있었다.
맨 위에 우리는 #include <iostream>을 쓰고 있었다.
즉 iostream이라는 파일을 찾아서 해당내용을 복붙 하세요!라는 뜻
그렇다면 #define DEFINE_C 2는 뭘까?
이 변수명 DEFINE_C를 보면 2로 바꿔주겠다는 뜻이다!
얘는 그래도 숫자만 쓸 필요가 없긴 하다. 뭐 문자도 되고 뭐 문장도 된다.
그냥 코드 바꿔치기용으로 사용하게 된다.
그래도 우선적으로 쓰는 건 권장사항이 아니다.
전처리로 처리되기 때문에 디버깅을 할 때 사라지는 경우가 있기 때문이다.