我一直很好奇,但從來沒有找到一個堅實的答案或一個容易理解的解釋。我曾與其他運營商嘗試過,它工作得很好。這個操作符特別有趣。我只是無法繞過它。爲什麼三元運算符不能被重載?
1
A
回答
4
的stroustrup FAQ:
沒有根本的原因不允許的
?:
超載。我只是 沒有看到需要引入超載運算符的特殊情況。請注意,重載expr1?expr2:expr3
的功能將無法保證expr2
和expr3
中只有一個被執行爲 。
+1
這比以前的答案要好得多。所以基本上沒有人知道,也沒有打擾這個想法。 –
+1
@MSquared雖然這不是一個很好的理由重新問這個問題。雖然這個答案可能比僞裝中的更好,但是在多個相同的問題中分散好的答案正是欺騙系統應該避免的,因爲它使得難以找到所有的好答案。如果你認爲現有的問題需要更好的答案,你應該提出一個獎勵(需要75個代表),所以SO保持良好和可搜索。 –
相關問題
- 1. 爲什麼三元運算符不能在java
- 2. 爲什麼我不能給null賦予三元運算符?
- 3. 爲什麼你不能重載'。'運算符在C++中?
- 4. 爲什麼比較運算符不能自動重載IComparable?
- 5. 運算符+ =重載,爲什麼是const?
- 6. 爲什麼運算符重載失敗?
- 7. 爲什麼我不能使用三元運算符爲小數賦值?
- 8. 爲什麼三元運算符在Kotlin中不「工作」?
- 9. 爲什麼三元運算符不是這樣工作的?
- 10. 爲什麼三元運算符不能在我的代碼中工作?
- 11. 爲什麼不能操作「||」在此JavaScript代碼中替換三元運算符「?:」?
- 12. 爲什麼==運算符在MSVC中含糊不清的運算符重載
- 13. 三元運算符
- 14. 爲什麼在VB.NET中賦值運算符不可重載?
- 15. 爲什麼C#不允許運算符重載?
- 16. 爲什麼php三元運算符輸出錯誤?
- 17. 節點js三元運算符爲什麼比較出錯?
- 18. 重新格式化三元運算符
- 19. 三元運算符作爲C宏中三元運算符的操作數
- 20. 爲什麼我不能在另一個文件中重載<<運算符?
- 21. 如何在C++中重載三元運算符(?:)?
- 22. 重載邏輯運算符被認爲是不好的做法?
- 23. 蟒蛇三元運算符行爲
- 24. 三元運算符意外的行爲
- 25. &&使用三元運算符
- 26. 三元運算符連接
- 27. 三元運算符在foreach
- 28. 關於三元運算符..!
- 29. java三元運算符
- 30. 三元運算符shorthands?和?:
我從這個答案中得到的一個假設是它被放棄了,沒有真正的理由給出它爲什麼沒有完成。我正在尋找這個運營商的起源故事。 –