gpt4 book ai didi

c++ - 当我在我的 C++ 代码中包含 时有什么区别

转载 作者:太空宇宙 更新时间:2023-11-04 15:14:45 24 4
gpt4 key购买 nike

有人可以解释一下吗?

    #include <iostream>
#include <limits.h>

    #include <iostream>
#include <limits>

最佳答案

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

  • 假设您有一个 template <typename Numeric> ... ,里面的代码想知道 Numeric 的最小值和最大值用户实例化您的模板的类型参数:您可以使用 std::numeric_limits<Numeric>::min()...::max() ;如果您想从 <climits> 访问相同的值,很难知道 SCHAR_MIN 中的哪一个 | , SHRT_MIN , INT_MIN , LONG_MIN等使用,你必须自己在它们之间切换 - 很多额外的代码用于如此微不足道的事情

  • <climits>有很多宏,并且宏不像“普通”C++ 标识符那样尊重 namespace 或作用域 - 它们的替换非常随意 - 因此它们使您的程序更容易出错

  • <limits>提供了关于数字类型的更多见解,例如它们是否已签名、它们可以处理的以 10 为基数的数字的数量、它们是否可以表示无穷大或非数字标记值等(请参阅 header docs 了解更多信息)更完整的列表和信息)

关于c++ - 当我在我的 C++ 代码中包含 <limits> 或 <limits.h> 时有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36831465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com