c++ 에는 네가지 타입 변환 연산자 static_cast, dynamic_cast, reinterpret_cast, const_cast가 있다.
그 중 하나인 static_cast 연산자에 대해 알아보자.
1 | static_cast<바꾸려고 하는 타입>(대상); | cs |
형태로 사용이 되고 문장의 모습에서 당연히 유추할 수 있듯이 실수와 정수, 열거형과 정수형, 실수와 실수 사이의 변환 등을 허용하고 arr -> point 그리고 function -> function pointer로도 변경 가능하며 포인터 타입을 다른것으로 변환 하는 것을 허용하지 않지만 상속 관계에 있는 포인터 끼리 변환이 가능하다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <iostream> #include <iomanip> using namespace std; int main() { double number; int intPart; double fractPart; cout << “부동 소수점 입력: “; cin >> number; intPart = static_cast<int>(number); fractPart = number – intPart; cout << fixed << showpoint << setprecision(2); cout << “원래 값: “ << number << endl; cout << “정수 부분: “ << intPart << endl; cout << “소수점 아래 부분: “ << fractPart; return 0; } | cs |
위의 예처럼 소수가 있는 실수에서 소수부분을 버린 정수부분만 추출하는데 사용할 수 있다.