Guixos Perfil
Guixos
Quan el nombre de diferents tipus d'operacions, i no pertany als tipus de dades bàsiques, sovint necessiten per emetre els operands en el tipus necessari. Guixos tenen dues formes, anomenades conversions explícites i implícites guixos. Guixos no canvien el tipus de les dades originals.
Common C projecta funcions són: const_cast, static_cast, reinterpreter_cast i dynamic_cast.Guixos manera
Un conversions explícites
C llança explícitament un format molt simple és el següent:
TIPUS b = (TYPE) a;
La qual cosa, TYPE és el tipus de descriptors, com int, float, etc Després que els operadors de conversió, retorna un valor de tipus TIPUS amb aquesta operació de conversió no canvia el mateix operant, després dels operands en si no ha canviat, per exemple:
int n = 0xab65;
Char CChar = (char) núm;
Aquests resultats emesos és el byte alt valor sencer 0xab65 esborrar els continguts de la gamma baixa d'un byte com un valor de tipus char assignat al CChar variable, però després el valor de conversió de tipus nVar no canviar-se.
En C guixos funció té quatre: const_cast (utilitzat per treure l'atribut const), static_cast (per fosa tipus bàsics), dynamic_cast (conversió de tipus entre tipus polimòrfics utilitzats), reinterpreter_cast (per a diferents tipus de La conversió entre els punters entre els més utilitzats és la conversió de punter de funció entre els diferents tipus).
2, conversions implícites
Conversió de tipus implícita passa en l'expressió d'assignació i tenen un valor de retorn de l'expressió de crida a funció. En l'expressió d'assignació, si els tipus d'operant operador d'assignació diferents costats esquerre i dret de l'operador d'assignació tiraran el caràcter numèric tipus operant de la dreta després que el costat esquerre de l'assignació, l'operador d'assignació assigna a l'esquerra de les variables. Quan s'invoca la funció, si els valors de retorn de tipus i funció de nou tornen expressions de diferents tipus, llavors el valor retornat quan el valor de l'expressió tornarà funció de conversió de tipus de valor de retorn, llavors el valor es retorna, com ara:
int nVar;
doble BDVAR = 3,88;
nVar = BDVAR ;/ / després de l'execució de la sentència, nVar és 3, i el valor continua sent 3,88 BDVAR
Tipus de conversió:
Una conversió de tipus automàtica
2 motlles
Conversió de tipus automàtica de dues situacions: 1, els diferents tipus d'operacions de dades, el sistema automàticament l'operació de prioritat inferior en un alt nivell, resultats d'alt nivell i els tipus de dades aritmètics. 2, a banda i banda de l'operador d'assignació no és el mateix tipus, el sistema convertirà automàticament en el dret d'expressió de tipus tipus de variable a la banda esquerra, i després l'assignació
Els motlles:
Com ara: (int) 3,1415 / / és una part sencera
(Int) un 10% / / obtenir un sol dígit
Si A és un tipus int, prendre una arrel quadrada és sqrt ((double) a).
3, la conversió implícita de tipus automàtic:
Regles Automàtic C de conversió de tipus de dades implícit sistema compilador del llenguatge intern estableix el següent:
1 quan es realitzen operacions aritmètiques, sota tipus (bytes curts) es pot convertir en un tipus d'alta (bytes de longitud); exemple: tipus int es converteix en una doble, carbó de llenya convertit a un tipus int, i així successivament;
2 expressió d'assignació, el tipus del valor de la part dreta de l'expressió es converteix automàticament al tipus de forma implícita a l'esquerra de les variables i assignar;
|