为什么我们在c ++中使用称为限制的头文件。
#include<limits>
有什么用途,我们可以使用这些人。
实际上,我有一个任务来探讨limits
头文件的用途,并编写一个示例程序来使用它。而且我也是c ++编程语言的新手。我具有中级知识,因此我不是编程新手,而是c++
的新手。我还没有阅读/研究c ++中的循环,类和函数。我只需要了解limits header file
?
答案 0 :(得分:1)
在(大多数)其他语言中,数字类型的 precise 详细信息由该语言定义。在C ++中,还有一些事情要由实现来定义。 <limits>
提供了一种检查实现选择的机制。
例如,标准仅指定int
是能够表示至少{em> 范围[-32767, 32767]
的数字类型。我的机器上有一个int
,可以代表[-2147483647, 2147483648]
,有些机器甚至更宽。
程序员可能希望他们的代码在具有特定选择的实现上无法编译。
int some_complex_algebra(int a, int b)
{
static_assert(std::numeric_limits<int>::max() >= 2147483648, "This code assumes at least 32bit 2's complement int");
// ...
}
答案 1 :(得分:0)
如果您查看the documentation,它会告诉您其目的:
此标头定义具有算术特征的元素 类型。更具体地说,它定义了numeric_limits类模板 并针对每种基本类型对其进行专业化处理:
然后继续,并提到了两个涉及float
舍入和非正规floats
的枚举,以及关于std::numeric_limits
的详尽页面。这定义了各种操作,例如
infinity
或NaN
之类的值我有一个任务来探索限制头文件的目的,并且 还要编写一个示例程序来使用它。
您可以找到一个不错的示例here。运行该示例,并思考它们如何有用。例如,也许您正在编写一个对大数进行数学运算的程序,所以也许它可以使用这些函数来检查极限值是否太低并警告用户。或者,它可以检查浮点数是否符合IEEE-754标准,如果要将数字发送到其他设备,这可能很重要。