¿Cómo se analiza la expresión x---y
? ¿Es una expresión legal?¿Cómo se analiza la expresión x --- y? ¿Es una expresión legal?
Respuesta
Es legal y analizado como x--
-
y
.
Creo que los primeros dos signos menos se interpretan como un operador de decremento posterior porque es el token más largo siguiente a x
que es legal para aparecer. Esto deja el tercer signo menos para jugar el papel de resta. Esto está de acuerdo con Máxima regla [1]
(x -) - y; ¿Qué compilador usas? ¿Cuáles son los tipos de x y y?
Esto está relacionado con la precedencia del operador. Eche un vistazo a este table.
El operador de decremento/incremento tiene prioridad sobre las operaciones aritméticas. Será analizado como x-- - y
.
Para corregir mi respuesta: El analizador coincide con la señal más larga que la primera, por lo --
se elige sobre la aritmética -
. Como resultado de la expresión que se analiza como x-- - y
Para todos los tipos de datos, se analiza como x-- - y
. Si se trata de un objeto class
, entonces tiene que definir operador de decremento y operador menos, dará error de compilación si solo define operador de decremento previo. Eso significa que x-- - y
es forzado en cualquier caso.
- 1. ¿Cómo exactamente analiza la expresión de JavaScript [1 [{}]?
- 2. Es "int i = x ++, j = x ++;" ¿legal?
- 3. Todo es una expresión
- 4. La expresión de tipo x está encuadrada en X?
- 5. ¿Qué es "Expresión SFINAE"?
- 6. ¿`X x = x = X();` legal C++?
- 7. ¿Expresión regular para encontrar una expresión regular?
- 8. ¿Cuál es la diferencia entre() y [] en una expresión regular?
- 9. C# expresión dentro de otra expresión
- 10. ¿Prueba si una expresión es una función?
- 11. Hibernate, Postgresql: La columna "x" es de tipo oid pero la expresión es de tipo byte
- 12. Evaluar la expresión simbólica
- 13. C# negar una expresión
- 14. expresión regular con -, ::, (y)
- 15. Crear una nueva expresión a partir de una expresión existente
- 16. Cómo invertir una expresión grep
- 17. ¿Cómo validar una expresión regular?
- 18. Linq "No se pudo traducir la expresión ... a SQL y no se pudo tratar como una expresión local".
- 19. Python expresión booleana y
- 20. ¿Es posible modificar manualmente una expresión IQueryable?
- 21. Encuadernación a una expresión
- 22. ¿Qué es una expresión en Python?
- 23. ¿Cómo puedo simplificar una expresión aritmética básica?
- 24. Cómo anexar a una expresión
- 25. ¿Cómo descompilar una expresión regular?
- 26. ¿Cómo comentar una expresión JSP?
- 27. Anexar a una expresión
- 28. ¿Qué es una expresión regular de prefijo?
- 29. ¿Hay una expresión regular para detectar una expresión regular válida?
- 30. Macro que imprime una expresión y la evalúa (con __STRING)
http://stackoverflow.com/questions/5341202 (y sus respuestas) pueden ser de su interés. –
Vea esto [Principio máximo de Munch.] (Http://en.wikipedia.org/wiki/Maximal_munch) – Nawaz