2017-10-11 86 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不同的规则。

相关问题