029. 캐스트 연산자 이해하기( static_cast )

jychan99·2021년 10월 10일
0

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;

}
profile
내가 지금 두려워 하고 있는 일이 바로 내가 지금 해야 할 일이다. 🐍

0개의 댓글

관련 채용 정보