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 |