4
A
回答
11
從段落的C++ 11標準的5.16/1:
條件表達式組從右到左。第一個表達式被上下文轉換爲bool(條款4)。它被評估,如果它是真的,則條件表達式的結果是第二個表達式的值,否則是第三個表達式的值。 只有第二和第三個表達式中的一個被評價。與第一個表達式相關的每個值計算和副作用在與第二個或第三個表達式關聯的每個值計算和副作用之前被排序。
相關問題
- 1. 三元運算符作爲C宏中三元運算符的操作數
- 2. C操作符和評估
- 3. 如何在三元運算符中僅評估一次函數?
- 4. 正則表達式來評估和替換算術運算符操作符
- 5. 評估規則
- 6. 評估包含在字符串中的運算符的操作
- 7. ostream C++運算符的懶惰評估
- 8. C中的評估&&運算符
- 9. 在三元運算符中評估兩條路徑嗎?
- 10. C - 三元操作,否則
- 11. 運行(C#)算法評估
- 12. C三元運算符
- 13. 三元運算符C
- 14. C#三元運算符不工作
- 15. 評估運算符號和執行操作員
- 16. 野牛一元運算符的規則
- 17. 用數學運算符評估C#字符串
- 18. 三元運算符C++的ostream爲String不兼容的操作數
- 19. 有沒有三元操作評估爲false的測試用例?
- 20. 三元運算符評估爲真如果字符串或假如果布爾
- 21. 在Swift三元運算符中使用OR操作數
- 22. 編譯器能否跳過對逗號運算符左操作數的評估?
- 23. 編譯器如何工作以評估sizeof運算符在c
- 24. 賦值運算符中的C++函數評估順序
- 25. 三元運算符
- 26. 如何禁止三元運算符評估未執行的結果
- 27. 使用三元運算符還是短路評估之間的區別?
- 28. C#三元運算符評價時應不
- 29. 比較運算符的評估順序?
- 30. 範圍解析運算符的評估
不,這不是標準的行爲。你是100%肯定的,這是怎麼回事?如你所說,你已經運行了一個調試器,你可以看到它檢查R.empty(),並且你正在看它調用'generate()'嗎? – templatetypedef
@templatetypedef是的,絕對的把握,三重檢查 – Anycorn
@gokcehan固定 – Anycorn