首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我在我的<limits>代码中包括<limits.h>或<limits.h>时,会有什么不同?

当我在我的<limits>代码中包括<limits.h>或<limits.h>时,会有什么不同?
EN

Stack Overflow用户
提问于 2016-04-25 03:14:12
回答 2查看 3.2K关注 0票数 2

有人能解释一下吗?

代码语言:javascript
复制
    #include <iostream>
    #include <limits.h>

代码语言:javascript
复制
    #include <iostream>
    #include <limits>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-25 03:36:04

是一个C++标准库头,它提供了与C标头<limits.h>类似的见解(在C++中也可以作为提供),但它的编写方式在C++程序中更有用和更安全:

  • 假设您有一个template <typename Numeric> ...,内部的代码想知道用户实例化模板时使用的Numeric类型参数的最小值和最大值:您可以使用std::numeric_limits<Numeric>::min()...::max();如果您想从<climits>访问相同的值,那么很难知道要使用哪一个SCHAR_MINSHRT_MININT_MINLONG_MIN等等,而且您必须自己在它们之间切换--为如此琐碎的事情编写大量额外的代码。
  • <climits>有很多宏,宏不像“普通”C++标识符那样尊重名称空间或作用域--它们的替换非常不加区别--因此它们使程序更容易出错。
  • <limits>提供了更多关于数字类型的见解,例如它们是否有符号、它们可以处理的基数-10位数、它们是否可以表示无穷大-a-数字哨位值等等(更完整的列表和信息请参见头文档 )。
票数 10
EN

Stack Overflow用户

发布于 2016-04-25 03:25:48

limits.h是一个C标准库头。limits是一个C++标准库头。它们包含不同的东西。

climits in C++,它提供

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36831465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档