C++ 문법

<형변환 & 열거체> enum, enum class

슬뷔 2022. 4. 7. 00:41

형변환 : 일시적으로 다른 타입으로 변환해주는 것을 말한다.

명시적 형변환, 암시적 형변환 2가지의 형변환 방식이 있다.


 

명시적 형변환 : 형변환 시키는 것을 정확하게 표기해 주어야 한다.
(int) 이런 식으로 변환하고자 하는 타입으로 지정해주면 된다.

암시적 형변환 : 컴파일러가 타입을 구분하여 해당 타입으로 자동으로
형변환 시켜주는 기능을 말한다.

 

Number = Number_2;

Number_2는 ENUMBER타입의 상수이지만 자동으로 int타입으로 형변환 처리가 된다.

 

eNumber = (ENUMBER)3;

자동으로 형변환 처리가 안될 경우, (ENUMBER)처럼 명시적으로 형변환을 해주어야 한다.

 

float Number1 = 3.14f;

아래의 경우 float타입 값을 int타입으로 암시적인 형변환이 일어나게 된다.

이때 float타입에 들어가있는 값에서 소수점 자리를 제거하고 정수부분만을 int에 대입해준다.
Number = (int)Number1;


 

 

열거체 : 사용자정의 변수 타입을 만들어줄 수 있는 기능중에 하나이다.


enum 원하는이름
{
};

enum class 원하는이름
{
};

enum문은 enum문의 이름 자체가 변수 타입이 된다.
이렇게 선언된 변수는 해당 enum문의 값의 범위만을 가질 수 있다.

초기화하지 않으면 위와 같이 0부터 시작되며, 값을 넣어서 초기화 시킬 수도 있다.

 

단, enum class 는 암시적 형변환이 불가능하다.

enum class는 열거체이름::원하는요소이름 으로 반드시 범위를 지정해서 접근해주어야 한다.

'C++ 문법' 카테고리의 다른 글

<포인터>  (0) 2022.04.08
<배열> Array  (0) 2022.04.08
<반복문> while문, do while 문, 난수  (0) 2022.04.08
<반복문> for문  (0) 2022.04.07
<분기> if문  (0) 2022.04.07