[C언어/C++] 타입 변환 연산자 static_cast

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

위의 예처럼 소수가 있는 실수에서 소수부분을 버린 정수부분만 추출하는데 사용할 수 있다.

관련글

제목 작성자 작성일