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).
- Conversió per encàrrec: Això es fa definint explícitament el tipus requerit davant de l'expressió entre parèntesis. Això també es pot considerar com un càsting contundent.
Sintaxi:
(type) expression>
on tipus indica el tipus de dades al qual es converteix el resultat final.
Exemple:
// 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;>}>convertint int a doble java
>
>
Sortida:Sum = 2>
- Conversió mitjançant l'operador Cast: Un operador Cast és un operador unari que obliga a convertir un tipus de dades en un altre tipus de dades.
C++ admet quatre tipus de càsting:- Cast estàtic
- Cast dinàmic
- Const Cast
- Reinterpreta el repartiment
Exemple:
#include>using>namespace>std;>int>main()>{>>float>f = 3.5;>>>// using cast operator>>int>b =>static_cast><>int>>(f);>>>> cout << b;>}>>
>
com utilitzar mysql workbench
Sortida:3>
Exemple de conversió implícita de tipus:
edat de shilpa shetty
// 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;> }> |
>
fitxer csv llegir java
>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:
Avantatges de la conversió de tipus:
- Això es fa per aprofitar determinades característiques de les jerarquies de tipus o representacions de tipus.
- Ajuda a calcular expressions que contenen variables de diferents tipus de dades.