logo

C++의 유형 변환

유형 캐스트는 기본적으로 한 유형에서 다른 유형으로의 변환입니다. 유형 변환에는 두 가지 유형이 있습니다.

    암시적 유형 변환 '자동 유형 변환'이라고도 합니다.
    • 사용자의 외부 트리거 없이 컴파일러가 자체적으로 수행합니다.
    • 일반적으로 표현식에 둘 이상의 데이터 유형이 있을 때 발생합니다. 이러한 조건에서는 데이터 손실을 방지하기 위해 유형 변환(유형 승격)이 발생합니다.
    • 변수의 모든 데이터 유형은 가장 큰 데이터 유형을 가진 변수의 데이터 유형으로 업그레이드됩니다.
       bool ->char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double>
    • 암시적 변환으로 인해 정보가 손실될 수 있고, 부호가 손실될 수 있으며(signed가 암시적으로 unsigned로 변환되는 경우) 오버플로가 발생할 수 있습니다(long long이 암시적으로 float로 변환되는 경우).

    유형 암시적 변환의 예:



    CSS 중앙 버튼






    // An example of implicit conversion> > #include> using> namespace> std;> > int> main()> {> >int> x = 10;>// integer x> >char> y =>'a'>;>// character c> > >// y implicitly converted to int. ASCII> >// value of 'a' is 97> >x = x + y;> > >// x is implicitly converted to float> >float> z = x + 1.0;> > >cout <<>'x = '> << x << endl> ><<>'y = '> << y << endl> ><<>'z = '> << z << endl;> > >return> 0;> }>



    >

    >

    산출:

     x = 107 y = a z = 108>
    명시적 유형 변환: 이 프로세스는 유형 캐스팅이라고도 하며 사용자 정의됩니다. 여기서 사용자는 결과를 특정 데이터 유형으로 만들기 위해 유형 변환할 수 있습니다.

    C++에서는 다음 두 가지 방법으로 수행할 수 있습니다.

    • 과제로 변환: 이는 괄호 안의 표현식 앞에 필요한 유형을 명시적으로 정의하여 수행됩니다. 이것도 강제 캐스팅이라고 볼 수 있다.

      통사론:

      (type) expression>

      어디 유형 최종 결과가 변환되는 데이터 유형을 나타냅니다.

      예:




      // C++ program to demonstrate> // explicit type casting> > #include> using> namespace> std;> > int> main()> {> >double> x = 1.2;> > >// Explicit conversion from double to int> >int> sum = (>int>)x + 1;> > >cout <<>'Sum = '> << sum;> > >return> 0;> }>

      >

      char 및 int 자바

      >

      산출:

       Sum = 2>
    • Cast 연산자를 사용한 변환: Cast 연산자는 단항 연산자 이는 하나의 데이터 유형을 다른 데이터 유형으로 변환하도록 강제합니다.
      C++에서는 네 가지 유형의 캐스팅을 지원합니다.

      1. 정적 캐스트
      2. 다이나믹 캐스트
      3. Const Cast
      4. 캐스트를 재해석하다
        1. 예:




          #include> using> namespace> std;> int> main()> {> >float> f = 3.5;> > >// using cast operator> >int> b =>static_cast><>int>>(에프);> > >cout << b;> }>

          >

          >

          산출:

           3>

유형 변환의 장점:

  • 이는 유형 계층 구조 또는 유형 표현의 특정 기능을 활용하기 위해 수행됩니다.
  • 다양한 데이터 유형의 변수를 포함하는 표현식을 계산하는 데 도움이 됩니다.