class) – 사용법열거형(enum,enum)

열거형이란 정수값의 집합을 정의하는 데 사용된다.기존의 enum에서 C+11에서 enumclass라는 것이 추가되었다.그 이유와 열거형의 사용법에 대해 알아본다.

1.enumclass 추가 이유 enum은 단순히 정수값 집합을 정의하므로 int와 같은 의미이다. 그렇기 때문에 단순히 int에 대입하거나 비교하거나 다른 enum과 비교하는 것이 가능했다. 하지만 어디서나 대학입시가 가능하거나 비교하면 사람 입장에서는 실수를 할 여지가 있다. 그래서 자료형을 보다 명확히 하기 위해 C+11에서 enumclass라는 것이 등장했다.

위와 같이 스코프 연산자를 사용하여 enum명을 명시하고 자료형도 명시적으로 캐스팅해야 한다. 궁금한 것이 많아졌는데 이러한 제약이 실수를 줄이려면 좋으니 enum보다 enumclass를 활용하자.

2. 사용법 enumclass는 기본적으로 변수를 (콤마)로 구분하여 초기화를 명시하지 않을 경우 0에서 1씩 증가하여 초기화된다.

상기 경우는 WHITE가 0으로 초기화되고 RED가 1로 초기화된 후 BLUE에는 명시적으로 100이 적혀 있기 때문에 100으로 초기화되며 그 이후에는 이전에 초기화된 숫자에서 1씩 증가한 숫자로 초기화된다.

enum은 정수 형태이기 때문에 아스키 코드를 통해 문자형으로도 변환이 가능하다. enumclass에 : char를 붙이면 되지만 이 역시 명시적으로 써줄 뿐 실제 동작에는 영향이 없다.

개인공부 블로그 입니다. 잘못된 점이나 기타 문의사항은 댓글 또는 메일 부탁드립니다.

error: Content is protected !!