본문 바로가기

컴퓨터 언어/C++

Enum

enum ENUM_SRP {
		ENUM_SCISSORS,
		ENUM_ROCK, 
		ENUM_PAPER, 
	};

어떤 상수를 만들 때 const를 선언하거나, Enum 키워드를 쓰거나, #define (되도록이면 지양하는 분위기)을 사용한다.

그 중에서도 Enum과 #define에 대해 더 찾아보기로 했다.

Enum

열거형이라고 하며, 상수를 정의할 수 있다. 

enum ENUM_SRP {
		ENUM_SCISSORS,
		ENUM_ROCK,
		ENUM_PAPER,
	};

이 단계에서는 메모리를 따로 할당하지 않는다. 따라서 메모리를 효율적으로 쓰기에 좋다.

ENUM_SRP s = ENUM_SCISSORS;
ENUM_SRP r = ENUM_ROCK;
ENUM_SRP p = ENUM_PAPER;

enum의 변수가 정의된 이후에 메모리가 할당된다.

 

열거자는 열거 목록의 위치에 따라 정수 값이 0부터 자동으로 할당된다.

enum ENUM_SRP {
		ENUM_SCISSORS, //assigned 0
		ENUM_ROCK, //assigned 1
		ENUM_PAPER, //assigned 2
	};

열거자의 값을 명시적으로 정의하는 경우,

정의되지 않은 열거자는 이전 열거자보다 1만큼 큰 값이 부여된다.

enum ENUM_SRP {
		ENUM_SCISSORS = 5,
		ENUM_ROCK, //assigned 6
		ENUM_PAPER, //assigned 7
	};

 

'컴퓨터 언어 > C++' 카테고리의 다른 글

진수 입력 및 출력  (0) 2023.06.21
precision, fixed 함수  (0) 2023.04.24
srand(time(0))  (0) 2023.03.22
데이터 연산  (0) 2022.11.18
문자와 문자열  (1) 2022.11.13