태그: C++ 언어가 C언어와 다른점

학생) 열거형은 정수 형식의 부분 집합이죠. 정수 형식이 와야 할 곳에 열거형은 사용할 수 있지만 열거형이 와야 할 곳에 정수 형식을 사용할 수 없어요.

C++언어는 C언어보다 자료 형식에 관한 부분에서 신뢰성을 강화하고 있어요.

 

먼저 C언어에서는 열거형 변수에 정수 형식을 대입하거나 초기화를 하는 것이 가능합니다.

▷ 실행 결과

 

하지만 C++에서는 열거형 변수에 정수 형식을 대입하거나 초기화할 수 없어요.

열거형 변수에 정수 표현 대입 불가

다음은 열거형 변수에 정수를 대입하였을 때 컴파일 오류가 발생하는 예제 코드예요.

이와 같은 오류를 발생하게 한 이유는 열거형에 나열한 값은 정수 형식의 부분 집합이지만 모든 정수 형식에 있는 값을 사용할 수 없기 때문에 발생하는 것입니다. 특히 열거형에 열거한 값이라도 정수 형식을 대입할 수 없어요. 컴파일러는 변수의 형식으로 오류를 검사하는 것이지 값으로 검사하지 않기 때문이죠.

 

하지만 정수 형식 변수에 열거형을 대입하는 것은 가능해요. 따라서 정수 형식이 올 수 있는 곳에 열거형을 사용하는 것은 아무 문제가 없습니다. 이는 열거형에 나열할 수 있는 값은 정수 형식을 벗어날 수 없기 때문에 신뢰성에 아무 문제가 없기 때문입니다.

▷ 실행 결과


[C++ 무료 동영상 강의] 10. 신뢰성 강화(열거형)