在C ++标准中我可以读取整数文字的类型吗?

时间:2017-10-11 19:20:52

标签: c++ c++11 standards

在“词法约定/文字”一章中,它只是提到没有后缀,它可以是int,long int或long long int中的任何一个。它在哪里明确说明它是实现定义的,或者 - 如果不是 - 它是什么类型的?

1 个答案:

答案 0 :(得分: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 int,{ {1}},long long int