728x90
C++에서 열거형(enum)은 명명된 정수 상수의 집합을 정의하는 데 사용되는 데이터 형식으로, 주로 코드의 가독성을 높이고 상수 값을 의미 있게 표현하는 데 유용합니다. 열거형에 대한 구체적인 설명을 아래와 같이 정리해 보겠습니다.
1. 기본 열거형 (enum)
기본적인 열거형은 다음과 같이 정의할 수 있습니다.
enum EnumName {
Constant1,
Constant2,
Constant3,
// ...
};
- 예제:
#include <iostream>
enum Day {
MONDAY, // 0
TUESDAY, // 1
WEDNESDAY, // 2
THURSDAY, // 3
FRIDAY, // 4
SATURDAY, // 5
SUNDAY // 6
};
int main() {
Day today = WEDNESDAY;
if (today == WEDNESDAY) {
std::cout << "Today is Wednesday." << std::endl;
}
return 0;
}
2. 값 지정
열거형 상수에 특정 값을 지정할 수 있습니다.
enum ErrorCode {
SUCCESS = 0,
WARNING = 1,
ERROR = 2,
FATAL_ERROR = 3
};
3. 열거형의 기본 값
열거형 상수는 기본적으로 0부터 시작하여 1씩 증가합니다. 하지만 명시적으로 값을 설정하면 그 이후의 상수는 이전 상수의 값에서 1씩 증가합니다.
enum Color {
RED = 1,
GREEN, // 2
BLUE, // 3
YELLOW = 5,
ORANGE // 6
};
4. 열거형의 범위
기본 enum은 전역 범위를 가지며, 같은 이름의 상수가 다른 열거형에 존재할 경우 이름 충돌이 발생할 수 있습니다.
5. enum class (C++11 이후)
C++11부터 도입된 enum class는 열거형의 범위를 제한하고, 타입 안전성을 제공하는 기능입니다.
enum class Season {
WINTER,
SPRING,
SUMMER,
FALL
};
int main() {
Season currentSeason = Season::SUMMER;
// 타입 안전성을 제공하므로 직접 비교할 수 없음
// if (currentSeason == SUMMER) { ... } // 오류 발생
// 올바른 비교 방법
if (currentSeason == Season::SUMMER) {
std::cout << "It's summer!" << std::endl;
}
return 0;
}
6. 사용 용도
열거형은 다음과 같은 상황에서 유용하게 사용됩니다:
- 상태 표현: 프로그램의 상태나 모드를 나타낼 때.
- 옵션 선택: 사용자가 선택할 수 있는 여러 옵션을 정의할 때.
- 플래그 관리: 특정 옵션이 활성화되었는지 확인할 때.
7. 열거형의 장점
- 가독성 향상: 코드의 의미를 명확하게 하여 가독성을 높입니다.
- 유지보수 용이: 상수를 한 곳에서 관리할 수 있어 유지보수가 용이합니다.
- 타입 안전성: enum class를 통해 타입 안전성을 확보할 수 있습니다.
728x90
'반도체 > C++' 카테고리의 다른 글
29. C++의 스레드 개념 (0) | 2024.08.30 |
---|---|
28. C++에서 사용하는 함수들 (1) | 2024.08.20 |
26. 연산자,조건문,반복문 (1) | 2024.08.14 |
25. C++에서 자주 사용하는 개념들 (1) | 2024.08.14 |
24. C++에서 GET과 SET 메서드 (1) | 2024.08.14 |