我认为前缀++和后缀++之间的唯一区别是它们的优先级。显然我错了。也许这是重要的返回价值?
答案 0 :(得分:14)
在C ++中,++++i
编译,因为前缀operator++
返回左值。但是,使用这个疯狂增量运算符仍然是不可取的,因为它会调用UB。
我是C人,而 也被标记为C,所以值得指出的是,这在C中是不同的,在这种情况下答案是:
++++i
。这就是我所拥有的一切。
答案 1 :(得分:8)
实际上两个错误(如前所述),但是第一个甚至不可编辑,因为后缀++
需要左值,但前缀++
返回临时值。第二个,尽管具有可通信性,但违反了规则:序列点之间的只能修改一次变量。显然,你在这里试图修改i
两次!