首先我们要知道 x++ 自增需要对一个“固定变量自增”。
x+1的值是一个临时变量,不是左值。简而言之就是它在变化后没有“落脚处”,因此是不可以使用后自增运算的。
同理 (x++)++也是不合法的。而(++x)++是合法的。因为前自增返回左值,而后自增返回的是一个临时变量,只能作为右值。就像您不能使用 x+1=2。要关注 “=”是一个赋值操作符
文章讨论了C++中自增运算符的区别,指出x++后的值是一个临时变量,不能用于赋值操作,而++x返回左值,可以进行后续运算。后自增返回的临时变量只能用作右值,而前自增允许在表达式中使用。
首先我们要知道 x++ 自增需要对一个“固定变量自增”。
x+1的值是一个临时变量,不是左值。简而言之就是它在变化后没有“落脚处”,因此是不可以使用后自增运算的。
同理 (x++)++也是不合法的。而(++x)++是合法的。因为前自增返回左值,而后自增返回的是一个临时变量,只能作为右值。就像您不能使用 x+1=2。要关注 “=”是一个赋值操作符
1515

被折叠的 条评论
为什么被折叠?