0
A
回答
3
既不是。這是雙倍的。 3.0
具有雙倍型,並且3
被提升爲倍增值;雙倍加倍的結果是雙倍。這與結果無關。
還有一堆的ostreams重載的左移位的運營商,並有一個在右邊一個double類型的參數,所以就是這樣就是所謂的一個:
template <class Elem, class Traits>
basic_ostream<Elem, Traits>& basic_ostream<Elem, Traits>::operator<<(double d);
對於什麼是值得,這是一個成員函數,而不是一個自由函數。
1
它通過利用過載
ostream& operator<<(ostream& output, int i) {
// It's an int
}
ostream& operator<<(ostream& output, float f) {
// it's a float
}
C++編譯器會選擇基於輸入類型<<
經營者的適當的過載優點執行此操作。如果你傳遞一個float
它將搭載具有float
與同爲int
0
結果3.0 + 3
操作的是重載雙從而COUT將應用< <運營商double類型。
0
您可以使用調試器的步入功能來確定這一點。它將進入它的哪種方法是你的答案
相關問題
- 1. 確定表達式的類型
- 2. 確定λ-表達的返回類型
- 3. 確定結果類別的表達式
- 4. 生鏽的錯誤「無法確定此表達式的類型」
- 5. 如何確定值類型的值類型
- 6. 確定涉及模板類型參數的表達式的結果類型?
- 7. 如何評估拉姆達表達式以確定對象類型
- 8. 確定Groovy表達式的返回類型
- 9. lambda表達式的類型
- 10. 如何在表達式中獲取引用類型的值?
- 11. 如何指定表達式樹的返回類型?
- 12. 如何指定子表達式的多態類型?
- 13. 如何確定任意C++數值類型的實部類型?
- 14. 如何確定表示類型的枚舉值?
- 15. 如何顯示postgresql表達式類型?
- 16. 如何正確定義多個樣式表的媒體類型?
- 17. Selenium RC:如何確定表格的格式/數據類型
- 18. 確定子表的類型
- 19. 確定列表的類型?
- 20. 如何正確鎖定值類型?
- 21. 如何從無類型的表達式返回到鍵入的表達式?
- 22. OCaml - 此表達式的類型爲float,但表達式的類型爲int
- 23. 如何確定較大類型decltype表達
- 24. 鏽匹配表達式類型不確定?
- 25. 使用正則表達式確定數據類型
- 26. 類型條件表達式不能被確定爲
- 27. 如何確定當前類的類型?
- 28. 如何將一種類型的表達式樹轉換爲不同的表達式類型?
- 29. 確定使用可變值的優化如果else表達式
- 30. 根據值的字符串表示形式確定值的類型?
感謝您的答案..但是什麼規則決定什麼樣的結果將是什麼樣的? (對於給定的一對不同類型的操作數) – mahela007
@ mahela007 - 它有點複雜,因爲有很多類型。但基本上,整數類型被提升爲表達式中最大的整型,而浮點型被提升爲最大的浮點類型。如果表達式既包含整型也包含浮點類型,則整型將轉換爲浮點類型。這會將所有內容都轉換爲相同的類型,這就是結果的類型。現在,這只是一個草圖;它留下了很多細節,你可以在其他地方閱讀。 –