여기서 우리는 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