code
#include <iostream>
using namespace std;
int main()
{
//자료형을 변경하는 전통적인 방법은 (double)처럼 괄호안에 원하는
//자료형을 넣는 방법이 있는데, C언어 스타일의 형변환은 무작정 변경하고 본다는
//단점이 있다. 이것때문에 여러 사소한 에러가 생기는데,
//C++에서는 4가지 자료형변환 연산자를 제공한다.
//static_cast<> : 가장 기본적인 캐스트 연산 방법
//dynamic_cast<> : 객체지향 언어의 다형성을 이용해서 모호한 타입 캐스팅 오류를 막음
//const_cast<> : 자료형이 갖고 있는 상수 속성을 제거
//reinterpret_cast<> : 어떠한 포인터 타입끼리도 변환할 수 있게 도움
//모두 다루려면 설명이 많이 필요하기 때문에 static_cast<>만 다룸
int x = 2;
double y = 4.4;
//C++식 int자료형 변환
int i = static_cast<int>(y / x);
//C식 int자료형 변환 C++에서는 가급적 사용하지 말자.
int j = (int)y / x;
double k = y / x;
cout << "4.4 / 2 = (static_cast<int>) " << i << endl;
cout << "4.4 / 2 = (int) " << j << endl;
cout << "4.4 / 2 = " << k << endl;
return 0;
}