c++的常量后缀有什么用?

Irene_f 2019-08-04 01:39:32
以integer literals为例,u是unsigned,l是long,ll是long long。可是在写代码的时候,这些后缀应该什么时候用呢?我用visual studio写cout<<34359738368;(2^35)和cout<<34359738368L;结果是一样的
...全文
242 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Irene_f 2019-08-05
  • 打赏
  • 举报
回复
引用 3 楼 sdghchj的回复:
字面量整数数字如果在int整数范围内,就默认是int类型的,如果超过了int整数范围,就默认是long类型的。 int的范围是负20多亿到正20多亿,10十位数字,34359738368明显11位数字,已经超过int范围,默认就是long型的,后面加不加L都是一样的。 在int范围内的整数字面量后加L才有实际意义。
噢噢,明白了。可是什么时候一个数字在int范围内我们却要让它是long呢?
赵4老师 2019-08-05
  • 打赏
  • 举报
回复
常量也有类型!
DestinedToDie 2019-08-04
  • 打赏
  • 举报
回复
写了这个后缀(VS里面出现过有专门的名字,我忘了的)就跟你在前面写个显式类型转换效果是一样。默认情况下是int,再大一点就什么能存并且最短就默认什么,并且signed优于先unsigned的
lin5161678 2019-08-04
  • 打赏
  • 举报
回复
-1 < 0
-1 < 0U
结果不一样
sdghchj 2019-08-04
  • 打赏
  • 举报
回复
字面量整数数字如果在int整数范围内,就默认是int类型的,如果超过了int整数范围,就默认是long类型的。 int的范围是负20多亿到正20多亿,10十位数字,34359738368明显11位数字,已经超过int范围,默认就是long型的,后面加不加L都是一样的。 在int范围内的整数字面量后加L才有实际意义。
Irene_f 2019-08-04
  • 打赏
  • 举报
回复
引用 1 楼 niebo_bar的回复:
后缀一般是在赋值给变量时使用,输出时一般不使用后缀
可以给个简单的代码示例吗?
niebo_bar 2019-08-04
  • 打赏
  • 举报
回复
后缀一般是在赋值给变量时使用,输出时一般不使用后缀

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧