티스토리 뷰

컴퓨터 언어/C++

enum class

ansir 2025. 10. 30. 22:29
728x90
반응형

정의

enum class는 타입 세이프하기 때문에 열거 값이 다른 정수 타입 변수로 자동 캐스팅되지 않고, calss 이름으로 스코프 설정이 되지 않으면 참조할 수도 없다.

enum class MyEnum {
    EnumValue1,
    EnumValue2 = 10,
    EnumValue3
};

이 때문에 다음 코드는 C++11에서 문법 위반이다.

if (MyEnum::EnumValue3 == 11) { ... }

값 타입

열거 타입은 기본적으로 int 타입과 연계되지만 enum class는 값의 타입을 바꿀 수 있다.

enum class MyEnum : unsigned long {
    EnumValue1,
    EnumValue2 = 10,
    EnumValue3
};

출처: 전문가를 위한 C++

728x90
반응형

'컴퓨터 언어 > C++' 카테고리의 다른 글

배열  (0) 2025.10.30
구간 지정 for 루프  (0) 2025.10.30
열거(enumeration) 타입  (0) 2025.10.30
변수  (0) 2025.10.30
네임스페이스  (0) 2025.10.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함
250x250
반응형