简单的解析问题

时间:2010-12-10 17:31:00

标签: c++ c parsing

  

可能重复:
  Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc…)
  Undefined Behavior and Sequence Points(C ++ FAQ条目)

在C和C ++中,如何解析表达式x+++++y?作为x++ ++ +yx++ + ++y

1 个答案:

答案 0 :(得分:11)

x+++++y被解析为x ++ ++ + y而不是x ++ + ++ y。根据{{​​3}}“,tokenizer应该继续从源文件中读取字符,直到再添加一个字符导致当前令牌停止有意义

x++ ++ +y不应该编译(在C和C ++中),因为后增量运算符++需要lvalue作为参数并返回rvalue