2017-10-05 161 views
1

我一直很好奇,但從來沒有找到一個堅實的答案或一個容易理解的解釋。我曾與其他運營商嘗試過,它工作得很好。這個操作符特別有趣。我只是無法繞過它。爲什麼三元運算符不能被重載?

+0

我從這個答案中得到的一個假設是它被放棄了,沒有真正的理由給出它爲什麼沒有完成。我正在尋找這個運營商的起源故事。 –

回答

4

stroustrup FAQ:

沒有根本的原因不允許的?:超載。我只是 沒有看到需要引入超載運算符的特殊情況。請注意,重載expr1?expr2:expr3 的功能將無法保證expr2expr3中只有一個被執行爲 。

+1

這比以前的答案要好得多。所以基本上沒有人知道,也沒有打擾這個想法。 –

+1

@MSquared雖然這不是一個很好的理由重新問這個問題。雖然這個答案可能比僞裝中的更好,但是在多個相同的問題中分散好的答案正是欺騙系統應該避免的,因爲它使得難以找到所有的好答案。如果你認爲現有的問題需要更好的答案,你應該提出一個獎勵(需要75個代表),所以SO保持良好和可搜索。 –