C++ Enum Class 사용하기
20 Apr 2020 | c++ programming effectiveC++의 Enum은 내부적으로 int와 동일하게 사용된다. 하지만 기존의 Enum의 한계에 따라 Enum Class가 등장하였다.
기존의 Enum 사용법
enum Color { RED, YELLOW, BLUE }
기존의 Enum Class 사용하기
Color color = RED; int red = RED;
기존의 Enum 문제점
enum Color2 { // Error!! RED, YELLOW, BLUE }
Enum Class의 등장
enum class Color { RED, YELLOW, BLUE }
enum class Color2 { RED, YELLOW, BLUE }
Enum Class 사용하기
기존과 다른점은, 스코프의 등장으로 Enum class의 이름을 사용하여 불러올수 있다는 점과, int값으로 자동 변환되지 않기때문에 casting을 사용해야한다는 점이다.
Color color = Color::RED; Color2 color2 = Color2::RED; int red = Color::RED // 에러! int red = static_cast(Color::RED) // 정상 </pre>