프로그래밍/C++

형변환

FORHAPPy 2021. 9. 10. 02:12

<1> 묵시적 형변환

연산 과정에서 묵시적 형변환이 형변환 우선순위에 의해 일어난다.

int A = 3.14f; 의 경우 묵시적 형변환

변환 우선순위 때문에 그럼

long double (8바이트) > double(8바이트) > float(4바이트) > long long(8바이트) > long , int(4바이트)

> short(2바이트) > char (1바이트)

 

<2> 명시적 형변환

형변환을 명시하는 것. 

Aver = float(iTotal / 3);

Aver = iTotal / 3.f; 

 

1.Aver = float(iTotal) / 3
2.Aver = float(iTotal / 3)

 

위 코드처럼 형변환 하는 방식을 C++에서는 C 스타일 형변환 혹은 오래된 형변환 이라고 부른다.

 

c++에는 형변환해주는 연산자가 4개가 있다. 아직 초보자니 4개가 있다는 거만 알아 두자.

 

 

static_cast   --->> 기본(built-in) 자료형의 형변환, 상속관계에서 때로는 형변환을 강제해야 하는 상황

dynamic_cast --->> 상속관계에서 안정적인 형변환

reinterpret_cast --->> 포인터/참조 타입에 상관없이 무조건 형변환을 해야하는 상황

const_castconst  --->> const의 성향을 없애기 위한 형변환

 

 

'프로그래밍 > C++' 카테고리의 다른 글

분기문 (if, switch, goto, while)  (0) 2021.09.10
증감연산자, 헝가리안 표기법  (0) 2021.09.10
연산자  (0) 2021.09.07
자료형  (0) 2021.09.07
변수  (0) 2021.09.04