我一直很好奇,但从来没有找到一个坚实的答案或一个容易理解的解释。我曾与其他运营商尝试过,它工作得很好。这个操作符特别有趣。我只是无法绕过它。为什么三元运算符不能被重载?
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?和?:
我从这个答案中得到的一个假设是它被放弃了,没有真正的理由给出它为什么没有完成。我正在寻找这个运营商的起源故事。 –