Q
后增量运算符++
7
A
回答
13
x++
返回一个右值,所以你不能再次执行++
。另一方面,++x
返回左值,因此您可以对其执行++
。
+1
也看到[这个问题](http://stackoverflow.com/questions/371503/why-is-i-considered-an-l-value-but-i-is-not) – Benoit
4
这就是增量操作符在C/C++中的工作方式。
如果你把++
变量(后缀递增)之后,整个表达式的计算结果为变量前值递增。
如果将++
放在变量(前缀增量)之前,则表达式求值为增量操作后的值。
尽管前缀操作返回对传递变量的引用,但后缀版本返回的临时值不得增加。
1
正确。哟不能在Rvalue上执行++。关于右值如何工作的一个很好的解释是here。
相关问题
- 1. 后增量运算
- 2. 增量运算符
- 3. Java后缀增量运算符行为
- 4. 后增量运算符的行为
- 5. 重载后缀增量运算符
- 6. 后缀增量运算符评估
- 7. 后增量运算用C
- 8. 后增量,预增量和运算符优先
- 9. 使用增量前或增量后运算符的情况
- 10. 后增量和增量前置运算符
- 11. C增量运算符
- 12. 增量运算符java
- 13. ostream运算符在重载的后缀增量/减量运算符上重载
- 14. int.parse(“1”)后为什么不允许后缀增量(++)运算符?
- 15. Java:增量/减量运算符的前缀/后缀?
- 16. 超载后缀增量运算
- 17. 后增量和增量前运算符之间的性能差异?
- 18. 预/后递增运算符和数组
- 19. 超载后递增运算符
- 20. 增量运算符的原子性
- 21. VBScript是否有增量运算符
- 22. 在android中执行增量运算符
- 23. C#++一元运算符增量问题
- 24. Java的增量和赋值运算符
- 25. 迭代器和增量运算符
- 26. JavaScript增量运算符不工作?
- 27. C++重载增量运算符
- 28. VBScript是否有增量运算符?
- 29. 增量递减的按位运算符
- 30. C++/g ++过载增量运算符
post-incrementing临时? – Benoit
'x'的类型是什么?这很重要。如果它是内置的,'operator ++'不是函数调用。 – MSalters
它的内置说,int x = 5; – user835194