Mixed Mode Expressões em C ++

C ++ permite que você misturar tipos de variáveis ​​em uma única expressão. Ou seja, você tem permissão para adicionar um número inteiro com um duplo precisão valor de ponto flutuante. No seguinte expressão, por exemplo, nValue1 é permitido ser um int:

// Na expressão a seguir o valor de nValue1 // é convertido em uma dupla antes de realizar o // assignmentint nValue1 = 1-nValue1 + 1.0-

Uma expressão em que os dois operandos não são do mesmo tipo é chamado um expressão de modo misto. expressões de modo misto gerar um valor cujo tipo é igual à mais capazes de os dois operandos. Nesse caso, nValue1 é convertido a um duplo antes do cálculo prossegue. Da mesma forma, uma expressão de um tipo pode ser atribuído a uma variável de um tipo diferente, como na seguinte afirmação:

// No seguinte atribuição, a parte // número inteiro de fVariable é armazenado em nVariabledouble dVariable = 1,0-int nVariable-nVariable = dVariable-

Você pode perder precisão ou intervalo se a variável no lado esquerdo da atribuição é menor. No exemplo anterior, C ++ trunca o valor de dVariable antes de armazená-lo em nVariable.

A conversão de um tipo de valor maior em um tipo de valor menor é chamado rebaixamento, Considerando que a conversão de valores em direcção oposta, como é conhecido promoção. Os programadores dizer que o valor de int variável nVariable1 é promovido a um duplo em expressões como as seguintes:

int nVariable1 = 1-double dVariable = nVariable1-

expressões de modo misto não são uma boa idéia. Evite forçar C ++ para fazer suas conversões para você.

menu