logo

Перетворення типів у C++

Приведення типу — це в основному перетворення одного типу в інший. Існує два типи перетворення типів:

    Неявне перетворення типу Також відоме як «автоматичне перетворення типу».
    • Виконується компілятором самостійно, без будь-якого зовнішнього тригера від користувача.
    • Зазвичай має місце, коли у виразі присутній більше одного типу даних. У таких умовах відбувається перетворення типу (підвищення типу), щоб уникнути втрати даних.
    • Усі типи даних змінних оновлюються до типу даних змінної з найбільшим типом даних.
       bool ->char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double>
    • Під час неявних перетворень можлива втрата інформації, знаки можуть бути втрачені (коли signed неявно перетворюється на unsigned), і може статися переповнення (коли long long неявно перетворюється на float).

    Приклад неявного перетворення типу:








    // 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++ це можна зробити двома способами:

    такі сайти, як coomeet
    • Перетворення за призначенням: Це робиться шляхом явного визначення необхідного типу перед виразом у дужках. Це також можна вважати силовим закиданням.

      Синтаксис:

      (type) expression>

      де типу вказує тип даних, у який перетворюється кінцевий результат.

      приклад:

      спробуйте зловити спіймати java




      // 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;> }>

      >

      >

      Вихід:

       Sum = 2>
    • Перетворення за допомогою оператора Cast: Оператор Cast – це an унарний оператор який змушує один тип даних перетворюватися в інший тип даних.
      C++ підтримує чотири типи приведення:

      1. Статичний акторський склад
      2. Dynamic Cast
      3. Const Cast
      4. Переосмислити акторів
        1. приклад:




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

          >

          моделі машинного навчання

          >

          Вихід:

           3>

Переваги перетворення типу:

  • Це робиться, щоб скористатися перевагами певних особливостей ієрархій типів або представлень типів.
  • Це допомагає обчислювати вирази, що містять змінні різних типів даних.