l + l ++与l + l相同?

htt*_*ret 0 c++ syntax

说,尾随++在这里没有实际效果?

Pas*_*uoq 16

l+l++未定义.表达式中没有用于分隔访问权限l和后增量的序列点.它可以做任何事情,包括具有相同的效果l+l.

编辑:问题和答案为什么是`i = ++ i + 1`未指明的行为?解释序列点是什么,引用标准的相关部分并提供链接.让我再说一遍:

除非另有说明,否则单个运算符的操作数和单个表达式的子表达式的评估顺序以及副作用发生的顺序是未指定的.53)在前一个和下一个序列点之间,标量对象应通过表达式的计算最多修改其存储值一次. 此外,只能访问先前值以确定要存储的值.

强调我的.

第二次编辑:根据受欢迎的要求,该段中的下一句话:

对于完整表达式的子表达式的每个允许排序,应满足本段的要求; 否则行为未定义.