Vídeo: Euler's real identity NOT e to the i pi = -1 2024
Uma vez que o C ++ passa o valor do argumento, você não pode diferenciar por constness. No seguinte, o que realmente é passado para o máximo () são os valores 2. 0 e 0. 0. A função máxima () não pode dizer se esses valores vieram de uma variável como dArg ou uma constante como 0. 0. < máximo duplo (duplo d1, duplo d2); anular outra função () {double dArg = 2. 0; double dNonNegative = máximo (dArg, 0. 0);
Você
pode declarar os argumentos de uma função como const. Tal declaração significa que você não pode alterar o valor do argumento dentro da função. Isto é demonstrado na seguinte implementação de máximo (duplo, duplo):
A atribuição para d1 e d2 não é permitida porque ambos foram declarados const e, portanto, não são modificáveis.
O que não é legal é o seguinte:
// estas duas funções não são diferentes o suficiente para se distinguir duplo máximo (double d1, double d2); duplo máximo (const double d1, const double d2); anular outra função () {double dArg = 2. 0; // C ++ não sabe qual das funções acima para chamar double dNonNegative = maximum (dArg, 0. 0);
Aqui o C ++ não tem como diferenciar os dois quando você faz a chamada.