#include <iostream>
using namespace std;
int main() {
int num{65};
cout << num << '\n';
cout << (char)num << '\n'; //명시적 형 변환
return 0;
}
(type)
: 명시적 형 변환🚨 C 스타일의 형 변환의 단점
암시적인 형 변환이 불가능
하다는 것은 컴퓨터가 생각하기에는 문제의 소지가 있다
라는 의미형 변환의 의도
를 구별해내는 것이 어려움🌟 이를 보완한 것이 C++ 형 변환 연산자. C 스타일 형 변환 연산자에 비해 복잡해 보이더라도 C++ 형 변환 사용하기.
static_cast<new_type>(expression)
//기본 자료형 간 형 변환
#include<iostream>
using namespace std;
int main(void){
double d(13.24);
float f(10.12f);
double tmp_double;
int tmp_int;
float tmp_float;
tmp_int = static_cast<int>(d); //double -> int 로 형변환
cout << "static_cast<int>(double) : " << tmp_int << endl;
tmp_float = static_cast<float>(d); //double -> float 로 형변환
cout << "static_cast<float>(double) : " << tmp_float << endl;
tmp_double = static_cast<double>(f); //float -> double 로 형변환
cout << "static_cast<double>(float) : " << tmp_double << endl;
return 0;
}