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

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

  1. enum class 추가이유 enum은 단순히 정수값 집합을 정의하므로 int와 동일한 의미이다. 그래서 단순히 int에 대입하거나 비교하거나 다른 enum과 비교할 수 있었다. 하지만 어디서든 대학입시가 가능하거나 비교하면 다른 사람 입장에서는 실수할 여지가 있다. 이에 자료형을 보다 명확히 하기 위해 C++11에서 enumclass라고 하는 것이 등장했다.
  2. 위와 같이 스코프 연산자를 사용하여 enum 이름을 명시하고, 자료형도 명시적으로 캐스팅해야 한다. 신경을 많이 쓰는 부분이 많은데 이러한 제약이 실수를 줄이기에는 더 좋기 때문에 enum보다는 enum class를 활용하자.
  3. 2. 사용법 enum class 는 기본적으로 변수를 (쉼표)로 구분하며, 초기화를 명시하지 않을 경우 0에서 1씩 증가하여 초기화 된다.
  4. 위의 경우는 WHITE가 0으로 초기화 되고, RED가 1로 초기화 된 후 BLUE에는 명시적으로 100이 적혀 있으므로 100으로 초기화 되며, 그 이후에는 이전에 초기화된 숫자에서 1씩 증가한 숫자로 초기화된다.
  5. enum은 정수 형태이기 때문에 아스키 코드를 통해 문자형으로도 변환이 가능하다. enum class에 :char를 붙이면 되는데 이것도 명시적으로만 쓸 뿐 실제 동작에는 영향이 없다.

개인공부 블로그 입니다. 오류나 기타 문의사항은 댓글 또는 메일주세요.

error: Content is protected !!