STATIC_CAST

Category
아이템: 
포스트 갯수1

[C++] 캐스팅 연산자: static_cast / dynamic_cast

C 에서, int를float로 바꾸고 싶은 경우가 종종 있다. 예를 들어 정수 두 개를 나누어 소수점을 얻고 싶을 때. int a = 1;int b = 2; a / b = 0.5 라는 값을 얻고 싶다면 어떻게 해야 할까? 일단 말 그대로 a / b를 하면 값이 0이 나오게 된다. 정수 형식 간의 나누기 연산은 몫(/)과 나머지(%)로 나뉘기 때문이다. 이 경우에는 몫은 0, 나머지 1 이 되기 때문에 원하는 값을 얻지 못한다. 문제를 해결하기 위한 가장 간단한 방법은, (float)a / (float)b 같이 값 앞에 괄호로 감싼 변환 형을 적는 것으로 형 변환을 하는 것이다. 이 때, 변환 형은 표준 변환에 따라 변환 가능한 형식이어야 한다. 표준 변환 |이런 변환은 C 스타일의 명시적 형 변환이라고 하