如何解析表达式x---y
?这是一种法律表达吗?
答案 0 :(得分:10)
这是合法的,并解析为x--
-
y
。
我认为前两个减号被解释为后递减运算符,因为它是x
后出现合法的最长令牌。这使得第三个减去扮演减法的角色。
这符合最大规则 [1]
答案 1 :(得分:1)
这与运营商优先级有关。看看这个table。
递减/递增运算符优先于算术运算。它将被解析为x-- - y
。
要更正我的回答:解析器首先匹配最长的令牌,因此选择--
而不是算术-
。导致表达式被解析为x-- - y
答案 2 :(得分:1)
对于所有数据类型,它被解析为x-- - y
。如果它是某个class
对象,那么你必须定义 post decrement 运算符和减运算符,如果你只是定义 pre decrement <,它将给出编译错误/ strong>运营商。这意味着,x-- - y
在任何情况下都是强制性的。
答案 3 :(得分:0)
(X - ) - ÿ;你用哪个编译器? x和y有哪些类型?