Conversió de tipus en C++

Un tipus de distribució és bàsicament una conversió d'un tipus a un altre. Hi ha dos tipus de conversió de tipus:

    Conversió de tipus implícita També coneguda com a 'conversió de tipus automàtica'.
    • Fet pel compilador pel seu compte, sense cap activador extern de l'usuari.
    • Generalment té lloc quan en una expressió hi ha més d'un tipus de dades. En aquestes condicions, la conversió de tipus (promoció de tipus) té lloc per evitar la pèrdua de dades.
    • Tots els tipus de dades de les variables s'actualitzen al tipus de dades de la variable amb el tipus de dades més gran.
       bool ->char -> curt int -> int -> int sense sign -> llarg -> sense sign -> llarg llarg -> float -> double -> llarg doble 
    • És possible que les conversions implícites perdin informació, els signes es poden perdre (quan està signat es converteix implícitament en sense signar) i es pot produir un desbordament (quan long long es converteix implícitament en flotant).

    Exemple de conversió implícita de tipus:




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

    Sortida:

     x = 107 y = a z = 108 
    Conversió de tipus explícita: aquest procés també s'anomena càsting de tipus i està definit per l'usuari. Aquí l'usuari pot escriure el resultat per convertir-lo en un tipus de dades concret.

    En C++, es pot fer de dues maneres: