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