2017-10-11 92 views
1

在「詞彙約定/文字」一章中,它只是提到沒有後綴,它可以是int,long int或long long int中的任何一個。它在哪裏明確指出它正在被實現定義,或者 - 如果不是 - 它是什麼類型?在C++標準中,我可以讀取什麼類型的整數文字?

+1

你剛剛回答你的問題嗎? – Rakete1111

+0

請參閱http://en.cppreference.com/w/cpp/language/implicit_conversion – Bathsheba

+0

我認爲你的問題是「如何確定特定編譯器實現中的整型文本的類型?」對? – nicomp

回答

3

lex.icon,第二段,有一個表。在它表之前

整數常量的類型是表6中相應列表中的第一個,它可以表示其值。

然後在桌子上,下中的常數,它會列出,按順序intlong intlong long int。所以根據上述說法,如果它可以用int表示,那麼它是int。如果它不能用int表示,但它可以用long int表示,那麼它就是long int。如果它不能用long int表示,但它可以用long long int表示,那麼它就是long long int

有八進制和十六進制常量,這讓他們成爲無符號的類型,責令優先爲intunsigned intlong intunsigned long intlong long intunsigned long long int不同的規則。

相關問題