1
在“词汇约定/文字”一章中,它只是提到没有后缀,它可以是int,long int或long long int中的任何一个。它在哪里明确指出它正在被实现定义,或者 - 如果不是 - 它是什么类型?在C++标准中,我可以读取什么类型的整数文字?
在“词汇约定/文字”一章中,它只是提到没有后缀,它可以是int,long int或long long int中的任何一个。它在哪里明确指出它正在被实现定义,或者 - 如果不是 - 它是什么类型?在C++标准中,我可以读取什么类型的整数文字?
在lex.icon
,第二段,有一个表。在它表之前
整数常量的类型是表6中相应列表中的第一个,它可以表示其值。
然后在桌子上,下中的常数,它会列出,按顺序int
,long int
,long long int
。所以根据上述说法,如果它可以用int
表示,那么它是int
。如果它不能用int
表示,但它可以用long int
表示,那么它就是long int
。如果它不能用long int
表示,但它可以用long long int
表示,那么它就是long long int
。
有八进制和十六进制常量,这让他们成为无符号的类型,责令优先为int
,unsigned int
,long int
,unsigned long int
,long long int
,unsigned long long int
不同的规则。
你刚刚回答你的问题吗? – Rakete1111
请参阅http://en.cppreference.com/w/cpp/language/implicit_conversion – Bathsheba
我认为你的问题是“如何确定特定编译器实现中的整型文本的类型?”对? – nicomp