본문 바로가기

PL/C & C++

[C++] enum class

어떻게 보면 enum값이 암시적 형변환이 되어서 int 와 비교가 가능하다는 것은 이점으로 보일 수 있지만, 프로그래머가 예상하지 못한 휴먼 에러를 발생할 수 있습니다.

 

enum class를 도입함으로써 더이상 int 로 암시적 형변환이 되는게 불가능해졌습니다. 이는 기존의 enum 암시적 형변환을 유용하게 사용하셨던 분들께는 안좋은 소식일 수 있지만. 이렇게 까다롭게 열거자들의 형식이 강력하게 제한된다는 점이 우리 개발자들이 만들 수 있는 휴먼에러의 위험성을 줄일 수 있다는 이점이 존재합니다.

 

이제 명확하게 명시적 형변환을 통해서 열거자를 비교해야 합니다.




 

[C++] enum class (scoped enum) 에 대해서

안녕하세요. BlockDMask 입니다. 오늘은 C++11에서 추가된 enum class에 대해서 알아볼까 합니다. 지금이 2020년도이니, 이미 당연스러운 C++ 문법이라고 생각하실 수도 있겠네요. enum이랑 enum class가 무엇

blockdmask.tistory.com

 

'PL > C & C++' 카테고리의 다른 글

[C++] -> 와 . 의 차이  (0) 2021.01.12
[C&C++] #include 기본 포함 경로, ""와 <> 차이  (0) 2021.01.12
[C++] 네임스페이스(namespace) 란?  (0) 2021.01.11
[C] 이중 pointer  (0) 2020.11.24
[C] pointer 증감연산자  (0) 2020.11.24