Expresiones de modo mixto en c ++
C ++ permite mezclar los tipos de variables en una sola expresión. Es decir, se le permite añadir un número entero con un doble precisión valor de punto flotante. En la siguiente expresión, por ejemplo, nValue1 se le permite ser un int:
// En la siguiente expresión el valor de nValue1 // se convierte en una doble antes de realizar la // assignmentint nValue1 = 1-nValue1 + 1.0-
Una expresión en la que los dos operandos no son del mismo tipo se denomina expresión de modo mixto. Expresiones modo mixto generan un valor cuyo tipo es igual a la más capaz de los dos operandos. En este caso, nValue1 se convierte en una doble antes de que los fondos de cálculo. De manera similar, una expresión de un tipo se le puede asignar a una variable de un tipo diferente, como en la siguiente declaración:
// En la siguiente asignación, la parte entera // número de fVariable se almacena en nVariabledouble dVariable = 1,0-int nVariable-nVariable = dVariable-
Usted puede perder la precisión o rango si la variable en el lado izquierdo de la asignación es más pequeño. En el ejemplo anterior, C ++ trunca el valor de dVariable antes de guardarla en nVariable.
La conversión de un tipo de valor más grande en un tipo de valor más pequeño se llama descenso de categoría, mientras que la conversión de los valores en la dirección opuesta que se conoce como promoción. Los programadores dicen que el valor de int variable nVariable1 se promueve a un doble en expresiones como las siguientes:
int nVariable1 = 1 doble dVariable = nVariable1-
Expresiones de modo mixto no son una buena idea. Evite forzar C ++ para hacer sus conversiones para usted.