Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ 명시적 형변환(타입 캐스팅) 연산자 완벽 정리

형변환(type cast)은 특정 상황에서 객체의 타입을 명시적으로 변환할 수 있는 방법을 제공합니다. 형변환은 단항 표현식 형태로 다음과 같이 사용할 수 있습니다.

( type-name ) cast-expression

형변환이 수행되면 컴파일러는 cast-expression을 type-name 타입으로 취급합니다. 캐스트는 모든 스칼라(scalar) 타입의 객체를 다른 스칼라 타입으로 변환하거나, 그 반대로 변환할 때 사용됩니다. 명시적 형변환은 암시적 변환(implicit conversion)의 효과를 결정하는 것과 동일한 규칙의 제약을 받으며, 특정 타입의 실제 크기나 내부 표현 방식에 따라 추가적인 제약이 적용될 수도 있습니다.

예제 코드

다음 예제는 float 타입 변수를 int 타입으로 명시적으로 변환하는 방법을 보여줍니다.

#include <iostream>
using namespace std;
int main() {
    float x = 3.1;
    int i;
    i = (int)x;

    cout << x << ", " << i << endl;
    return 0;
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

3.1, 3

위 예제에서 float 타입 변수 x에 저장된 값 3.1을 (int) 캐스트 연산자를 사용해 정수형으로 명시적으로 변환했습니다. 그 결과 소수점 이하가 잘린 값 3이 변수 i에 저장되는 것을 확인할 수 있습니다. 이처럼 명시적 형변환은 개발자가 의도적으로 타입을 변환해야 할 때 유용하게 활용됩니다.