여기서 우리는 C++에 존재하는 유형 변환 기술이 무엇인지 볼 것입니다. 유형 변환에는 크게 두 가지 유형이 있습니다. 암시적 및 명시적.
-
암시적 유형 변환
이를 자동 유형 변환이라고도 합니다. 이것은 사용자의 외부 트리거 없이 컴파일러에 의해 수행됩니다. 하나의 표현식에 둘 이상의 데이터 유형이 있는 경우 수행됩니다.
모든 데이터 유형은 큰 변수의 데이터 유형으로 업그레이드됩니다.
bool -> char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double
암시적 변환에서는 일부 정보가 손실될 수 있습니다. 표지판이 분실될 수 있습니다.
예시
#include <iostream>
using namespace std;
int main() {
int a = 10;
char b = 'a';
a = b + a;
float c = a + 1.0;
cout << "a : " << a << "\nb : " << b << "\nc : " << c;
} 출력
a : 107 b : a c : 108
명시적 유형 변환
이를 유형 캐스팅이라고도 합니다. 여기에서 사용자는 결과를 특정 데이터 유형으로 형변환할 수 있습니다. C++에서는 괄호 안에 표현식을 사용하거나 static_cast 또는 dynamic_cast를 사용하는 두 가지 방법으로 이를 수행할 수 있습니다.
예시
#include <iostream>
using namespace std;
int main() {
double x = 1.574;
int add = (int)x + 1;
cout << "Add: " << add;
float y = 3.5;
int val = static_cast<int>(y);
cout << "\nvalue: " << val;
} 출력
Add: 2 value: 3