Si bien existe dicho operador, **
en Python, me preguntaba por qué Java y C ++ tampoco tienen uno.
Es fácil crear uno para las clases que defina en C ++ con sobrecarga del operador (y creo que esto también es posible en Java), pero cuando se habla de tipos primitivos como int, double, etc., deberá usar la biblioteca funcionan como Math.power
(y generalmente tienen que lanzar ambos al doble).
Entonces, ¿por qué no definir dicho operador para los tipos primitivos?
^
operador no coincide con la precedencia de la exponenciación. Considera la expresión a + b ^ c
. En matemáticas, la exponenciación se realiza primero ( b ^ c
), luego se agrega la potencia resultante a
. En C ++, la adición se realiza primero ( a + b
) y luego ^
se realiza el operador con c
. Entonces, incluso si implementó el ^
operador para significar exponenciación, la precedencia sorprenderá a todos.
^
es un XOR en C ++. Se recomienda que el operador sobrecargado no haga diferente lo que hace un tipo de datos primitivo al usarlo.
++
operador o al !
operador et. Alabama. significar exponenciación. Pero de todos modos no puedes, porque los operadores de los que hablas aceptan solo un argumento; La exponenciación requiere dos argumentos.