数值限制------c++程序设计原理与实践(进阶篇)
发布日期:2022-04-04 06:36:22 浏览次数:5 分类:博客文章

本文共 891 字,大约阅读时间需要 2 分钟。

  每种c++的实现都在<limits>、<climits>、<limits.h>和<float.h>中指明了内置类型的属性,因此程序员可以利用这些属性来检查数值限制、设置哨兵机制等等。它们对于开发底层程序是非常重要的。如果你觉得需要这些属性值,表明你的工作很可能比较靠近硬件。但这些属性还有其他用途,例如,对语言实现细节感到好奇是很正常的:“一个int有多大?”,“char是有符号的吗?”等等。希望从系统文档中找到这些问题的正确答案是很困难的,而c++标准对这类问题大多没有明确规定。较好的方法是写一个简短的小程序来获得这些问题的答案:

#include
cout<<"number of bytes in an int:"<
<<'\n';cout<<"largest int:"<
<<'\n';cout<<"smallest int value:"<
::min()<<'\n';if(numeric_limits
::is_signed) cout<<"char is signed\n";else cout<<"char is unsigned\n"; char ch=numeric_limits
::min();cout<<"the char with the smallest positive value:"<
<<'\n';cout<<"the int value of the char with the smallest positive value:"<
<<'\n';

  如果你编写的程序将来要用在多种硬件平台上,那么能在程序中获取上面这些信息就非常有价值了。另一种方法是将这些信息硬编码到程序中,但这对维护人员来说是灾难性的。

这些属性值对溢出检测也是很有用的。

 

c++程序设计原理与实践(进阶篇)

转载地址:https://www.cnblogs.com/l2017/p/7856495.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:动态内存分配存在的问题(内存空洞)------c++程序设计原理与实践(进阶篇)
下一篇:宏(使用注意事项、主要用途)------c++程序设计原理与实践(进阶篇)

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月11日 06时31分46秒