10-4. enum class

Crat3 ㅣ 2023. 6. 20. 16:19

0. enum

- int형 4바이트

 

 

(1) 이름공간 관리

enum의 요소들은 전역적으로 사용 됨(enum에서 사용한 이름은 다시 사용할 수 없음).

 

(2) 암묵적 변환

요소의 값을 초기화 하지 않으면 첫 요소는 0, 그 다음 요소는 1, 그 다음은 2... 를 지정한다.

 

1. enum class (Scoped enum)

(1) 이름 공간 관리

enum class ObjectType
{
    Player,
    Monster,
    Projectile
};

enum class에서 선언된 요소들은 전역적으로 사용할 수 없음.

(이름이 겹쳐도 됨)

 

(2) 암묵적 변환 금지

int main()
{
	double value = static_cast<double>(ObjectType::Player);
}

enum class의 값을 변환하고자 하면 명시적으로 캐스팅을 해줘야 함.

'기초 C++ 스터디 > 모던 C++' 카테고리의 다른 글

10-6. override, final  (0) 2023.06.20
10-5. delete - 삭제된 함수  (0) 2023.06.20
10-3. nullptr  (0) 2023.06.20
10-2. 중괄호 초기화  (0) 2023.06.20
10-1. auto 문법  (0) 2023.06.20