我可以在 C++ 标准的哪个位置读取整型文字的类型?

Where in the C++ standard can I read what type an integer literal is?

在"lexical conventions/Literals"章中只是简单的提到了没有后缀,可以是int,long int,long long int中的任意一个。它在哪里明确声明它是实现定义的,或者 - 如果不是 - 它是什么类型?

lex.icon的第二段,有一个table。在 table 之前它说

The type of an integer literal is the first of the corresponding list in Table 6 in which its value can be represented.

然后在table的十进制常量下,依次列出intlong intlong long int。所以根据上面的说法,如果可以用一个int表示,那么就是一个int。如果不能用int表示,但可以用long int表示,那就是long int。如果它不能用 long int 表示但可以用 long long int 表示,那么它就是 long long int.

八进制和十六进制常量有不同的规则,允许它们是无符号类型,优先顺序为intunsigned intlong intunsigned long int , long long int, unsigned long long int.