기초 C++ 스터디/모던 C++
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의 값을 변환하고자 하면 명시적으로 캐스팅을 해줘야 함.